Jmeter壓測報錯:Non HTTP response code: java.net.ConnectExceptionexception的解決辦法
前一段時間進行jmeter壓測時,一直報錯,查看了下日志才發現報了一堆Non HTTP response code: java.net.ConnectExceptionexception,直接jmeter就沒發送到服務端
本想加個Constant Throughput Timer去進行控制qps從而避免錯誤率,可是那樣qps就不是服務器的最大壓力值了。
想了好幾種方法,也將jmeter.properties中的httpclienc.timeout調大去嘗試,還是有這個錯誤
最后試了一下將client implementation配置成java,結果奇跡出現了,發送不出去的錯誤被避免了,qps的量也上來了
總結:有加解密的情況下,默認的HTTPClinet在POST時會自動將特殊字符轉義,然而Java在發送過程中卻未處理;
jmeter發送http請求時,implementation會有以下幾種選項
JAVA:使用的是JAVA JVM提供的http方法,但有一定的限制,
1、當jmeter釋放一個請求后,同樣的進程中可能不會再使用了;
2、只使用於單進程模式;
3、不支持虛擬主機,不支持相關的方法,不支持存儲證書的請求
HttpClient4.1:使用的是Apache HttpClient4.1部件
空白:使用Http默認請求中配置或jmeter.properties中jmeter.httpsample中的配置