Jmeter压测报错:Non HTTP response code: java.net.ConnectExceptionexception的解决办法

前一段时间进行jmeter压测时,一直报错,查看了下日志才发现报了一堆Non HTTP response code: java.net.ConnectExceptionexception,直接jmeter就没发送到服务端

Jmeter压测报错:Non HTTP response code: java.net.ConnectExceptionexception的解决办法

本想加个Constant Throughput Timer去进行控制qps从而避免错误率,可是那样qps就不是服务器的最大压力值了。

想了好几种方法,也将jmeter.properties中的httpclienc.timeout调大去尝试,还是有这个错误

Jmeter压测报错:Non HTTP response code: java.net.ConnectExceptionexception的解决办法

最后试了一下将client implementation配置成java,结果奇迹出现了,发送不出去的错误被避免了,qps的量也上来了

Jmeter压测报错:Non HTTP response code: java.net.ConnectExceptionexception的解决办法

Jmeter压测报错:Non HTTP response code: java.net.ConnectExceptionexception的解决办法

总结:有加解密的情况下,默认的HTTPClinet在POST时会自动将特殊字符转义,然而Java在发送过程中却未处理;

jmeter发送http请求时,implementation会有以下几种选项

Jmeter压测报错:Non HTTP response code: java.net.ConnectExceptionexception的解决办法

JAVA:使用的是JAVA JVM提供的http方法,但有一定的限制,

1、当jmeter释放一个请求后,同样的进程中可能不会再使用了;

2、只使用于单进程模式;

3、不支持虚拟主机,不支持相关的方法,不支持存储证书的请求

HttpClient4.1:使用的是Apache HttpClient4.1部件

空白:使用Http默认请求中配置或jmeter.properties中jmeter.httpsample中的配置

上一篇:python实现基于CGI的Web应用


下一篇:jQuery慢慢啃之核心(一)