日常玄幻-随着并发数增加Jmeter与服务连接中断

最近开始接触Jmeter,Jmeter是Apache开发的一个基于Java的压力测试工具,当然也可以通过添加一些插件实现监测CPU等使用情况,进行性能测试。Jmeter不需要安装,直接执行exe文件即可,但是前提是必须安装jdk。目前为止最新版的Jmeter支持jdk1.8及以上版本。请大家按照自己情况使用

具体不在这里介绍,大家可以参考一下Jmeter的工具书,这里可以推荐大家一本http://www.jb51.net/books/581386.html,介绍的很全面,如果觉得太难,网上也有很多的简要教程,百度一下即可。

这里介绍一个我再Jmeter压测的过程中发生的一个问题。随着压测的时间的增长,发生个别的用户登录失败致使后续进城失败,查看结果数中报错信息为:

java.net.SocketException: Connection reset
	at java.net.SocketInputStream.read(Unknown Source)
	at java.net.SocketInputStream.read(Unknown Source)
	at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:161)
	at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:82)
	at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:278)
	at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
	at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
	at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
	at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:286)
	at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:257)
	at org.apache.jmeter.protocol.http.sampler.hc.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:199)
	at org.apache.jmeter.protocol.http.sampler.MeasuringConnectionManager$MeasuredConnection.receiveResponseHeader(MeasuringConnectionManager.java:212)
	at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
	at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
	at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:684)
	at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:486)
	at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
	at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:697)
	at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:455)
	at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSampl

最初以为是线程启动太多,造成的问题。延长线程启动时间,发现并没有改善。百度了很多的但是都没有相关的解释。经朋友提醒,发现可能是由于在Jmeter脚本中少写了一些http请求造成个别数据的信息没有接收保存。造成这种问题的原因是由于我整个流程的接口都是根据Chrome F12控制台中点击XHR来获取的,这时有些请求不在XHR中但是在整个流程中又是至关重要的,所以本人笨笨的又点击ALL查看了所有发送的请求重新再Jmeter中添加请求。这个时候再去执行脚本完美通过了。

大家在Jmeter中添加请求时注意接口前后的关系和连接,否则就可能出现这种问题。通过F12来查看有哪些接口是可以的,大家也可以使用一些抓包工具(例如:Fiddler、wireshark......)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值