java.net.ConnectException消息:非HTTP响应消息:jmeter中的连接被拒绝

时间:2018-01-17 12:19:20

标签: multithreading jmeter load-testing

我有从网站下载zip文件的方案。 当试图用jmeter命中100个用户获得所有100个用户的成功响应时,但当我尝试为150个用户做同样的事情直到74个用户获得成功响应时,意味着用户下载zip文件没有任何错误,但剩下的用户得到以下错误: : 获取采样结果:https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js代码:非HTTP响应代码:java.net.ConnectException消息:非HTTP响应消息:连接被拒绝

请求为此提供解决方案

2 个答案:

答案 0 :(得分:0)

这可能意味着您的服务器过载或配置错误,并且不允许其他请求,因此拒绝它们。

在此之前确保您没有遇到网络争用。

答案 1 :(得分:0)

永远不要将外部内容(图片,横幅,视频,字体,脚本等等)纳入您的负载测试。我的期望是,由于要求此jquery.min.js来自单个IP地址的150个并发用户(这不是真实用例),您被Google列入黑名单

解决方案是:

  1. 转到HTTP Request Defaults配置元素
  2. 将下一行添加到"网址必须匹配"输入:

    ^((?!google|facebook|pinterest|twimg|doubleclick).)*$
    

    这会过滤掉"嵌入式"来自外部服务器的资源,如ajax.googleapis.com和其他几个(根据需要随意修改上述正则表达式)

    更多信息:Excluding Domains from the Load Test

  3. HTTP Cache Manager添加到测试计划中也是一个好主意,因为真正的浏览器会下载脚本,样式,图像等,但在后续请求中只执行一次正在从浏览器的缓存中返回资源。 HTTP缓存管理器通过模拟浏览器缓存并尊重Cache-Control标头,使JMeter的行为类似于真实的浏览器。