码迷,mamicode.com
首页 > 其他好文 > 详细

性能测试机中存在大量的TIME_WAIT状态的连接,影响并发压力的发起

时间:2017-12-17 11:03:37      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:param   db2   大量   存在   sphere   查看   ntc   过多   user   

 

 

现在一个测试项目,发现性能测试机中有很多TIME_WAIT状态的TCP连接,在网上查了一下,这种状态也叫TCP半连接状态。

测试环境:3台winserver测试机,其中包括一台压力控制机,即controller机器

服务器环境:websphere+DB2

问题表现:controller机器使用其中任何一台windows测试机并发5个vuser或者更多,都会在8分钟或者10分钟左右出现大量的失败交易

分析:通过在cmd中查看netstat -ano > d:/port.txt(把netstat打印的信息输出到当前D盘根目录下)查看TCP连接,有大量的TIME_WAIT状态的TCP连接,大约有6W多个time_wait状态的TCP连接,咱们windows系统最大端口数量才只有65536个端口,性能测试机每次通过TCP访问server都会占用一个本地端口,导致time_wait状态(半连接状态)过多,并且不释放,导致新的TCP连接去寻找新的端口。如果widows提供的65536个端口全部用完,time_wait状态大量存在,就不会再有新建立的连接,则会出现timeout,导致大量的并发用户数宕掉。这严重影响了并发的发起,该问题已经提交到运维部,请他们来协助

解决办法:

1、修改注册表中的tcpip的属性值:TIMEWAIT回收时间

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

测试结果:TIME_WAIT状态的连接依然大量存在,每台机器可以承担少量的并发不会出现错误;当并发增大时则会出现大量的错误。

性能测试机中存在大量的TIME_WAIT状态的连接,影响并发压力的发起

标签:param   db2   大量   存在   sphere   查看   ntc   过多   user   

原文地址:http://www.cnblogs.com/what-/p/8048212.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!