sb_max 可调参数
sb_max 可调参数在排队至个别套接字的套接字缓冲区的数目上设置一个上限,这样就可以控制被排队至发送方的套接字或接收方的套接字的缓冲区消耗多少缓存空间。
系统基于缓冲区大小考虑了使用的套接字缓冲区,而不是基于缓冲区的内容。
如果一个设备驱动程序将 100 字节的数据放至 2048 字节缓冲区,系统就会考虑使用套接字缓冲区空间的 2048 字节。对设备驱动来说,将接收的各个缓冲区放入一个缓冲区是很常见的,后一个缓冲区必须足够大,能够接收适配器最大的信息包。这常常会造成缓冲空间的浪费,但如果将数据复制到小一点的缓冲区中可能会需要更多的 CPU 循环。
注: AIX® 中,sb_max 可调参数的缺省值是 1048576(非常大了)。您不应该更改此值,除非有保存内核 mbuf 内存的需要,例如在 32 位内核中。如果您想要更改 sb_max 参数,有关此参数建议使用的值,请参阅上面的表格。
udp_recvspace 可调参数
udp_recvspace 可调参数控制排列在每个 UDP 套接字上的入局数据的大量空间。一旦套接字达到 udp_recvspace 限制,就会废弃入局包。
netstat -p udp 命令输出中的 socket buffer overflows 列下详细显示了丢弃包的统计信息。有关更多信息,请参阅AIX 5L V5.3 命令参考大全,卷 4中的 netstat 命令
您应该将 udp_recvspace 可调参数的值设置得很高,这是由于多个 UDP 数据报可能到达并且在套接字上等待该应用程序来读取它们的情况造成的。许多 UDP 应用程序也可使用特殊的套接字接收信息包。使用此套接字从与该服务器应用程序会话的所有客户机中接收信息包。因此,必须有足够大的接收空间来处理数据报的脉冲串(可能从多个客户机到达并且被排列在套接字上等待被读取)。如果此值太低,就会废弃入局信息包并且发送方必须重新发送该包。这可能造成性能降低。
因为通信子系统考虑了使用的缓冲区,但没有考虑缓冲区的内容,所以在设定 udp_recvspace 时必须考虑。例如,将会将一个 8 KB 数据报分割成 6 个信息包(将会用 6 个接收缓冲区)。对以太网来说可能会是 2048 字节的缓冲区。所以,此 8 KB 数据报消耗的套接字缓冲区的总数如下:
6*2048=12,288 字节
因而,您可以看出 udp_recvspace 必须根据接入的缓冲区的效率调整为较高的值。这可能改变一个数据报大小,由设备驱动来完成。发送 64 字节数据报将会为每个 64 字节数据报消耗 2 KB 缓冲区。
然后,您必须说明在这个套接字上排队的数据报的数量。比如,NFS 服务器在一个众所周知的套接字上从所有客户端接收到 UDP 信息包。如果此套接字队列深度能够是 30 个信息包,那么如果 NFS 正使用 8 KB 数据报,您就可以将 30 * 12,288 = 368,640 用于aix系统netstat命令详解 udp_recvspaceNFS V3 允许最多 32 KB 数据报。
udp_recvspace 的推荐初始值为 udp_sendspace 值的 10 倍,因为 UDP 可能不能在另一个信息包到达之前将这个信息包传送给应用程序。而且,一些节点可以同时到一个节点。要提供一些分级空间,这个大小就要设置得在删除后面的信息包之前能够允许 10 个信息包进行分级。对于使用 UDP 的大的并行应用程序,这个值可能必须增加。
注: sb_max 的值,指定了每个套接字缓冲区的最大套接字缓冲区大小,应该至少是 UDP TCP 发送 / 接收缓冲区最大值的两倍。
AIX Security Expert 调优网络选项组
将网络选项调优至合适的值是安全性的主要部分。将网络属性设置为 0 将禁用该选项,而将网络属性设置为 1 则将启用该选项。
下表列出了高、中、低安全性级别的网络属性设置。该表还描述了任一特定网络选项的建议值是如何帮助确保网络安全性的。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。