300个并发用户,TPS1000的压力下,LR压测执行一段时间后报出大量无法连接的错误,系统TPS大幅降低,如下:
Error -27796: Failed to connect to server "ip地址": [10060]?
初步分析:这是由于TPS太高,导致压力机自身的端口资源释放回收不及时,导致后续的请求没有可用的端口导致的,从下面的接口连接数统计可以看出当前接口的连接数已经几乎达到设置的最大上限65534。客户端没有可用的端口,导致压力请求发不出去,服务端的TPS也就大幅降低了。
调整:
- HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters调整TcpTimedWaitDelay=5秒,调整MaxUserPort=65534
- 去掉loadrunner run-time setting/browser emulation中将simulate a new user on each iteration选项
调整后压测就正常了。