java - JMeter test on Netty-based impl produces error for every second request -
i've implemented http service based on http server example provided netty.io project.
when execute request service url command-line (wget) or browser, receive result expected.
when perform load test using apachebench ab -n 100000 -c 8 http://localhost:9000/path/to/service
, experience no errors (neither on service nor on ab side) , see fair numbers request processing duration.
afterwards, set test plan in jmeter having thread group 1 thread , loop count of 2. inserted http request sampler added server name localhost
, port number 9000
, path /path/to/service
. added view results tree
, summary report
listener.
finally, executed test plan , received 1 valid response , 1 error showing following content:
thread name: thread group 1-1 sample start: 2015-06-04 09:23:12 cest load time: 0 connect time: 0 latency: 0 size in bytes: 2068 headers size in bytes: 0 body size in bytes: 2068 sample count: 1 error count: 1 response code: non http response code: org.apache.http.nohttpresponseexception response message: non http response message: target server failed respond response headers: httpsampleresult fields: contenttype: dataencoding: null
the associated exception found in response data tab showed following content
org.apache.http.nohttpresponseexception: target server failed respond @ org.apache.http.impl.conn.defaulthttpresponseparser.parsehead(defaulthttpresponseparser.java:95) @ org.apache.http.impl.conn.defaulthttpresponseparser.parsehead(defaulthttpresponseparser.java:61) @ org.apache.http.impl.io.abstractmessageparser.parse(abstractmessageparser.java:254) @ org.apache.http.impl.abstracthttpclientconnection.receiveresponseheader(abstracthttpclientconnection.java:289) @ org.apache.http.impl.conn.defaultclientconnection.receiveresponseheader(defaultclientconnection.java:252) @ org.apache.http.impl.conn.managedclientconnectionimpl.receiveresponseheader(managedclientconnectionimpl.java:191) @ org.apache.jmeter.protocol.http.sampler.measuringconnectionmanager$measuredconnection.receiveresponseheader(measuringconnectionmanager.java:201) @ org.apache.http.protocol.httprequestexecutor.doreceiveresponse(httprequestexecutor.java:300) @ org.apache.http.protocol.httprequestexecutor.execute(httprequestexecutor.java:127) @ org.apache.http.impl.client.defaultrequestdirector.tryexecute(defaultrequestdirector.java:715) @ org.apache.http.impl.client.defaultrequestdirector.execute(defaultrequestdirector.java:520) @ org.apache.http.impl.client.abstracthttpclient.execute(abstracthttpclient.java:906) @ org.apache.http.impl.client.abstracthttpclient.execute(abstracthttpclient.java:805) @ org.apache.jmeter.protocol.http.sampler.httphc4impl.executerequest(httphc4impl.java:517) @ org.apache.jmeter.protocol.http.sampler.httphc4impl.sample(httphc4impl.java:331) @ org.apache.jmeter.protocol.http.sampler.httpsamplerproxy.sample(httpsamplerproxy.java:74) @ org.apache.jmeter.protocol.http.sampler.httpsamplerbase.sample(httpsamplerbase.java:1146) @ org.apache.jmeter.protocol.http.sampler.httpsamplerbase.sample(httpsamplerbase.java:1135) @ org.apache.jmeter.threads.jmeterthread.process_sampler(jmeterthread.java:434) @ org.apache.jmeter.threads.jmeterthread.run(jmeterthread.java:261) @ java.lang.thread.run(thread.java:745)
as have similar service running receives , processes web tracking data shows no errors, might problem within test plan or jmeter .. not sure :-(
did experience similar behavior? in advance ;-)
issue can related keep-alive management.
read those:
so solution 1 of those:
if you're sure it's keep alive issue:
try jmeter nightly build http://jmeter.apache.org/nightly.html:
download _bin , _lib files unpack archives same directory structure other archives not needed run jmeter.
and adapt value of httpclient4.idletimeout
a workaround increase retry or add connection stale check per :
Comments
Post a Comment