压力测试TCP参数优化TIME_WAIT

一、环境

RHEL 6.5, Nginx 1.8.1

RHEL 6.5, Websphere 7.0

 

二、问题

1.nginx报错

connect() failed (110: Connection timed out) while connecting to upstream

 

2.压力大时,nginx服务器和was服务器有大量TIME_WAIT连接,达到几万

linux查看TCP连接数量

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

 

三、优化方法

1.nginx性能优化配置长连接

nginx反向代理upstream默认使用短连接,可以采用长连接,效果十分明显,TIME_WAIT只剩几百了

http://happyqing.iteye.com/blog/2384283

 

2.linux TCP参数优化

vi /etc/sysctl.conf 添加

net.core.somaxconn = 2048

net.ipv4.tcp_fin_timeout = 30

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_timestamps = 0 #不验证时间戳

(如果有多台服务器,时间不一致,需要加上此参数,否则有的连接请求会被抛弃)

 

#立即生效

/sbin/sysctl -p 

 

四、压测试机调整

产生压力的测试机(win7 )也会有大量的TIME_WAIT连接

windows查看TIME_WAIT连接

cmd

netstat -ano

netstat -ano > d:/port.txt 导出到文件

 

1、修改注册表中的tcpip的参数:TIMEWAIT回收时间

在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters,添加名为TcpTimedWaitDelay的DWORD键,设置为十进制1,以缩短TIME_WAIT的等待时间。

 

2.MaxUserPort 改为 65534

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值