AIX 5L 网络性能优化 : 第 3 部分
2008-11-10 08:27:19 来源:WEB开发网第 1 部分介绍了 mbufs,但这里我们又要再次提到它,因为它与 thewall 非常相关。请记住,mbufs 用于在内核中为传入和传出的通信存储数据。这正是为什么确定合适的 mbufs 总量极其重要的原因。maxmbuf 可调参数的值用于限制通信系统所使用的内存量。如果该值为 0,那么将使用 thewall 可调参数,并且不能修改其缺省值。更改这个可调参数,是降低 thewall 限制的一种方法。作为缺省值,如果 maxmbuf 为 0,那么无论 thewall 使用什么都将使用这个值。netstat -m 用于检测失败的网络内存请求(请参见清单 10)。
清单 10. 带 -m 选项的 netstat
root@lpar37p682e[/etc/tunables] > netstat -m
Kernel malloc statistics:
******* CPU 0 *******
By size inuse calls failed delayed free hiwat freed
32 117 217 0 0 11 5240 0
64 109 6523 0 1 83 5240 0
128 975 15951 0 29 785 2620 0
256 520 67637 0 30 1016 5240 0
Streams mblk statistic failures:
0 high priority mblk failures
0 medium priority mblk failures
0 low priority mblk failures
在这个示例中,没有出现任何内存不足(失败)。
尽管您可以使用 no 实用工具更改许多参数,但大多数参数最好还是不要修改。最重要的参数是那些涉及到 TCP 流工作负载优化的参数。
tcp_sendspace——控制内核中用于缓冲应用程序数据的缓冲区空间大小。您可能希望使其超过缺省值,因为如果达到了限制值,发送应用程序则将挂起数据传输,直到 TCP 将数据发送到缓冲区为止。
更多精彩
赞助商链接