1. 程式人生 > >Jmeter_Non HTTP response code: java.net.SocketException

Jmeter_Non HTTP response code: java.net.SocketException

error msg

rc="Non HTTP response code: java.net.SocketException" 
rm="Non HTTP response message: Socket closed"
<responseData class="java.lang.String">java.net.SocketException: Socket closed&#xd;
    at java.net.SocketInputStream.socketRead0(Native Method)&#xd;
    at java.net.SocketInputStream
.socketRead(Unknown Source)&#xd; at java.net.SocketInputStream.read(Unknown Source)&#xd; at java.net.SocketInputStream.read(Unknown Source)&#xd; ... </responseData>

reason

Jmeter 2.10 後禁用了重新訪問失敗request
Jmeter 2.11後禁用了httpclient3和4的stalecheck

首先server開啟socket,等待request訪問。
當大量request併發進行時,request1先進入到socket,並且server通過socket讀取了request1的一行,但這時request2也進入到socket並被server讀取完畢,然後關掉了socket. 這時request1無法被server從socket讀取stream,返回closedsocket

soulution

Enabling retry
For HttpClient 4, in user.properties set : 
httpclient4.retrycount=1 
This will make JMeter retry once. For HttpClient 3, in user.properties set: 
httpclient3.retrycount=1 
This will make JMeter retry once. 

Enabling stale check
For HC4 Implementation: 
In user.properties
: hc.parameters.file=hc.parameters In hc.parameters set: http.connection.stalecheck$Boolean=true For HC3 Implementation: In user.properties: httpclient.parameters.file=httpclient.parameters In httpclient.parameters set: http.connection.stalecheck$Boolean=true

releated: