在进行负载测试时,有时候会遇到Socket closed错误 ,这通常是由于服务器收到大量并发,超出处理能力而中断连接的所导致。但在大量请求的负载测试下,有时服务器本身处于正常状态也会有及其少量的此类异常。
当强行停止脚本运行时,也会抛出Socket closed异常,此时可以忽略。
如果觉得服务器运行正常,则可以更改配置:
对于HttpClient 4,在user.properties中设置:
httpclient4.retrycount = 1,这将使JMeter重试一次。
对于HttpClient 3,在user.properties中设置:
httpclient3.retrycount = 1,这将使JMeter重试一次。
若Socket closed是由于服务器本身过载而导致的,此设置会对服务器造成更大压力,所以,在大量出现此错误时,不建议更改此设置。另外,若非必要,应该对个别的此类错误保持包容,既允许它发生。