Jmeter遇到线程链接被重置(Connection reset by peer: socket write error)的解决方法
做性能测试的时候遇到一个很奇怪的问题,多线程的计划,有一个线程第一次能跑过,第二次确跑不过,单独跑这个线程跑多少次都没有问题,把思考时间改短也没有问题,唯独出现在特定的状态下,特定状态是啥,也不得而知,反正是几个设置叠加再一起碰巧出现。。。我就郁闷了。。。墙外的朋友貌似都有人遇到,墙内的没搜到,所以写了这样一篇文章简单记录一下,解决方法:
现象如图
第一次成功,第二次失败,所以错误率是50%
取样器的结果是这样的:
具体的错误信息:
看上去像是jmeter的bug,百思不得其解。google之。。。解决方案如下,当然可能在部分情况下没办法解决,此方法仅作参考:
1.修改HTTP请求下面的Impementation选项,改成HttpClient4
2.在user.properties文件内修改:
hc.parameters.file=hc.parameters
3.在hc.parameters文件内修改:
http.connection.stalecheck$Boolean=true
重启Jmeter再尝试一下
另外改问题在2.10以后的版本开始出现,原因有两点:
1.Jmeter 2.10以后禁用了失败请求重试
2.Jmeter 2.10以后禁用了失效检查
这两点其实也就是上面解决方案的思路,启动了stalecheck。
修改过后,效果不错,顺利解决问题。