概述
今天服务器上又出现与对端的mail
server通讯故障,现象就是我方发出向对方mail端口的连接请求后,迟迟得不到对方回应,而且此现象只出现在我方一部分Linux服务器上。
因为时间仓促,来不及抓包仔细分析,但是根据以往的经验判断,可能是网络的核心参数设置上的问题。经查,可以成功接收到回应的设置为:
sysctl -w net.ipv4.tcp_rmem="4096 87380 2097152"
sysctl -w net.ipv4.tcp_wmem="4096 16384 2097152"
而缺省的情况下,失败的服务器上的参数是:
net.ipv4.tcp_rmem =
4096 87380 4194304net.ipv4.tcp_wmem
= 4096 16384 4194304
是否这个缺省的设置值太大了,导致socket在接收到对方回应之后,只是缓存而不通知上层?
网上也没有查到相关的问题报告,只能暂时搁置。
下面是网络设置相关的文章摘要:
Linux TCP Tuning
There are a lot of differences between Linux version 2.4 and 2.6,
so first we'll cover the tuning issues that are the same in both
2.4 and 2.6. To change TCP settings in, you add the entries below
to the file /etc/sysctl.conf, and then run "sysctl -p".
Like all operating systems, the default maximum Linux TCP buffer
sizes are way too small. I suggest changing them to the following
settings:
1234567
# increase TCP max buffer size
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
# increase Linux autotuning TCP buffer limits
# min, default, and max number of bytes to use
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
Note: you should leave tcp_mem alone. The defaults are fine.
最后
以上就是甜甜大雁为你收集整理的linux内核协议栈丢包统计,linux的网络优化与丢包(虽然接收到包但没有响应)...的全部内容,希望文章能够帮你解决linux内核协议栈丢包统计,linux的网络优化与丢包(虽然接收到包但没有响应)...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复