최근에 타사 서비스를 테스트 할 성능 스크립트를 작성하고 있습니다.Jmeter java.net.SocketException : 연결 재설정 (매개 변수 변경 후)
테스트는 매우 간단하며 각 스레드는 하나의 요청을 POST해야합니다. 스레드의 수 - 100, 램프 업 - (680)의
활성 스레드의 최대 수를 실행하면 JMeter를 3.2 버전을 사용하여 12 난`이지만, 또한 2.1에 시도하는 동안.
불행히도 java.net.SocketException
: 20-30 % 요청에 대한 연결 재설정 오류가 발생합니다. 게시물 마지막에 전체 오류가 발생했습니다.
이미 비슷한 주제 (예 : I m getting java.net.SocketException: Connection reset exception while running a load test using Jmeter)에서 언급 된 속성이 변경되었습니다.
는 내가 추가 한 : HTTPClient4
모두 시간 제한이 120000
로 설정 :
httpclient4.retrycount=1
hc.parameters.file=hc.parameters
나는 또한에 고급 탭에서 HTTP 요청 샘플러 기본값을 변경 한
http.socket.timeout$Integer=120000 (such big value is set just for test reasons ;))
http.connection.stalecheck$Boolean=true in hc.parameters
httpclient.timeout=1200000
httpclient4.idletimeout=1200000 (same as previous) in jmeter.properties
사용자 속성에.
참고 : 너무 큰 테스트 시간 초과는 일부 요청이 서비스 측 (심지어 10 분)에 걸릴 수있는 시간과 관련이 있습니다.
불행히도 이러한 모든 변화가 있은 후에도 분석에 대한 답변이 없기 때문에 나는이 오류와 서비스 책임자를 얻고 있습니다.
전체 오류 :
java.net.SocketException: Connection reset;
at java.net.SocketInputStream.read(Unknown Source);
at java.net.SocketInputStream.read(Unknown Source);
at sun.security.ssl.InputRecord.readFully(Unknown Source);
at sun.security.ssl.InputRecord.read(Unknown Source);
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source);
at sun.security.ssl.SSLSocketImpl.readDataRecord(Unknown Source);
at sun.security.ssl.AppInputStream.read(Unknown Source);
at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:158);
at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:82;
at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:271);
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:281);
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:654);
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:413);
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74);
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1189);
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1178);
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:491);
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:425);
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:254);
at java.lang.Thread.run(Unknown Source);
10 개의 스레드가있는 오류가 발생하지 않으십니까? – user7294900
10 개의 스레드로 테스트하지 않았지만 실행중인 라이브를보고있는 동안 (10 개 미만의 스레드가 활성화되어 있어도 콘솔 (비 GUI 모드) 오류에 대한 부분 보고서가 나타남) –
답변에 대한 의견이 있으십니까? 괜찮 으면 받아 들여 져야하고 다른 사람에게 도움이되도록 upvoted해야합니다. 감사합니다 –