我在网络应用程序上使用Jmeter 2.10运行负载测试。
我有一个带有View结果树监听器的HTTP采样器,我在公司代理服务器后面运行。
当我使用单个线程运行线程组时,
org.apache.http.NoHttpResponseException: The target server failed to respond
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:95)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:61)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:254)
at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:289)
at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:252)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:191)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:300)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:127)
at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:715)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:520)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:475)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:295)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1105)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1094)
at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:429)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257)
at java.lang.Thread.run(Unknown Source)
请建议
答案 0 :(得分:13)
我面临同样的问题"目标服务器无法响应"这就是我所做的:
在您的JMETER测试计划中,您必须添加了“HTTP请求” 默认&#34 ;.单击它,然后选择Implementation字段 下拉列表中的HttpClient4选项。
保存测试
现在在apache jmeter的bin文件夹中打开文件user.properties 并按如下方式在文件末尾创建一个条目:
httpclient4.retrycount=1
hc.parameters.file=hc.parameters
现在用相同的bin文件夹打开文件hc.parameters并制作一个 条目
http.connection.stalecheck$Boolean=true
保存这些文件
重新启动jmeter
上述步骤帮助我解决了这个问题。
获得了解决方案答案 1 :(得分:1)
你需要"告诉" JMeter通过命令行参数使用您的公司代理:
根据How do I run JMeter in non-gui mode指南
-H, --proxyHost <argument>
Set a proxy server for JMeter to use
-P, --proxyPort <argument>
Set proxy server port for JMeter to use
-N, --nonProxyHosts <argument>
Set nonproxy host list (e.g. *.apache.org|localhost)
-u, --username <argument>
Set username for proxy server that JMeter is to use
-a, --password <argument>
类似
jmeter -H 10.10.10.1 -P 3128
将告诉JMeter使用10.10.10.1:3128作为代理。将IP和端口替换为公司网络中的IP和端口。