Apache JMeter를 사용하여 파일 업로드 시나리오에서 서버의 성능을 테스트하려고합니다. 특히,이 컬 명령을 실현하기 위해 테스트 계획 생성하기 위해 HTTP 테스트 스크립트 레코더를 사용하고 있습니다 :JMeter로 큰 파일 업로드 실패
$ curl -k -x localhost:8888 -XPOST -d @filename.json -H "Content-Type: application/json" "https://hostname:port"
내가 filename.json은 수십 라인 긴 때 전에이 방법으로 성공을 거두었습니다,하지만 지금은 때 나는 약 72,000 라인 (A ~ 5.1M 파일)와 JSON을 테스트하려면, 나는 다음과 같은 오류 얻을 : 실제로
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
at sun.security.ssl.OutputRecord.writeBuffer(OutputRecord.java:431)
at sun.security.ssl.OutputRecord.write(OutputRecord.java:417)
at sun.security.ssl.SSLSocketImpl.writeRecordInternal(SSLSocketImpl.java:876)
at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:847)
at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:123)
at org.apache.http.impl.io.AbstractSessionOutputBuffer.write(AbstractSessionOutputBuffer.java:181)
at org.apache.http.impl.io.ContentLengthOutputStream.write(ContentLengthOutputStream.java:115)
at org.apache.http.impl.io.ContentLengthOutputStream.write(ContentLengthOutputStream.java:122)
at org.apache.http.entity.StringEntity.writeTo(StringEntity.java:169)
at org.apache.http.entity.HttpEntityWrapper.writeTo(HttpEntityWrapper.java:96)
at org.apache.http.impl.client.EntityEnclosingRequestWrapper$EntityWrapper.writeTo(EntityEnclosingRequestWrapper.java:112)
at org.apache.http.impl.entity.EntitySerializer.serialize(EntitySerializer.java:117)
at org.apache.http.impl.AbstractHttpClientConnection.sendRequestEntity(AbstractHttpClientConnection.java:265)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.sendRequestEntity(ManagedClientConnectionImpl.java:216)
at org.apache.jmeter.protocol.http.sampler.MeasuringConnectionManager$MeasuredConnection.sendRequestEntity(MeasuringConnectionManager.java:207)
at org.apache.http.protocol.HttpRequestExecutor.doSendRequest(HttpRequestExecutor.java:237)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:122)
at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:686)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:488)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:884)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:619)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:379)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1146)
at org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:240)
을,이 문제는, 어떻게 든 JMeter를 함께 거짓말을 믿고 있기 때문에 '아무튼 원시 컬 명령 JMeter 포함
curl -XPOST -d @filename.json -H "Content-Type: application/json" "https://hostname:port"
은 문제없이 파일을 업로드합니다.
누구에게이 문제가 발생 했습니까? 어떤 도움이라도 대단히 감사하겠습니다. 고맙습니다.
답변 해 주셔서 감사합니다. 테스트 스크립트 레코더가 실행되는 동안이 curl 명령을 입력하기 만하면이 오류가 발생합니다. 전 72k 라인 파일이 메모리에 과부하가되고있는 본문 데이터 탭에로드되는 것과 관련이 있다고 생각합니다. 이 문제를 해결하는 방법을 알고 있습니까? – Samasambo
나는 컬 명령 부분을 이해하지 못했습니까? 녹음하는 방법을 설명해 주시겠습니까? json 파일을 http sampler로 첨부 파일로 보낼 수 있습니다. –