最近在RedHat6.x (6.1,6.2,6.3)上跑一些程序,发现在大数据量(>100M)的网络传输下,6.x的性能比5.6差了3倍多。 数据的传输是在同一台机器上的两个进程间用TCP完成,所以这个性能下降也太明显了。
两个系统的硬件类似,6.x的硬件还相对好些。个人感觉应该是系统配置的问题,但是查看了 “sysctl -a” 后,发现 tcp_mem, tcp_wmem, tcp_rmem等值基本是一样的 (相差不过5%)。
各位老大有什么建议么?
另外:发现在用read 接收网络数据包的时候,如果指定的接收数目大于100M, 在6.x上会导致严重的性能下降(难道在分配内存来接收数据?),而5.6则没有这个问题。
谢谢。
tigerlaoyang 于 2013-05-31 12:59:36发表:
顶下,有碰到的朋友可以帮忙解决下。