使用 JMeter 时出现 503 HTTP 错误,但网页在浏览器上加载正常
Posted
技术标签:
【中文标题】使用 JMeter 时出现 503 HTTP 错误,但网页在浏览器上加载正常【英文标题】:I am getting a 503 HTTP error when using JMeter, but web page loads on browser just fine 【发布时间】:2017-12-22 11:08:13 【问题描述】:我正在使用 JMeter 3.2 版在具有 HTTPS 协议的页面上执行负载测试,我收到 503 HTTP 响应代码。 另一方面,当我在浏览器上键入 URL 时,页面被加载。 使用 Chrome 浏览器我可以看到请求的结果:
result of the request
页面已显示。我的问题是我在 JMeter 脚本上使用 HTTP 响应代码来评估响应代码。
首先,有谁知道为什么即使我可以看到页面,我也会收到 503 响应代码? 其次,我该如何克服这个问题来正确完成 Jmeter 脚本?
谢谢。 马科斯
【问题讨论】:
【参考方案1】:这是您在网站上可能没有的图标。
当您在浏览器中输入网站时,它也可能发生。
浏览器搜索 favicon 以显示类似于移动应用程序的网站小图标。可以看cisco答案:
浏览器会在 URL 的左侧显示一个图标。这被称为 'favicon.ico',通常从 website.com/favicon.ico 获取。 您的浏览器会在浏览到不同的地方时自动请求它 网站
【讨论】:
你知道为什么请求图标吗? 见***.com/questions/1321878/…【参考方案2】:如果嵌入资源之一无法加载,JMeter 将自动使父采样器失败。这是正常的默认行为,您拥有HTTP Status Code 503 的事实表明您的应用程序中存在错误。
至少有两种解决方法:
使用HTTP Request Defaults 过滤掉“favicon”请求。在“高级”选项卡上应该有“URLs must match”部分,可用于excluding certain domains from your load test,相关的正则表达式类似于:
^((?!favicon).ico)*$
Configuring JMeter 用于在嵌入资源出现错误时不失败。将下一行添加到 user.properties 文件(位于 JMeter 的“bin”文件夹中)
httpsampler.ignore_failed_embedded_resources=true
需要重新启动 JMeter 才能获取该属性。
【讨论】:
【参考方案3】:实际上,您通常会收到 200 条回复。 503 响应仅针对请求的资源“favicon.ico”我不知道那是什么,但看起来该页面的所有其他请求都返回 200。我猜 favicon.ico 是 ui 的一些默认图像或其他东西?
【讨论】:
这是个谜,因为网页源代码没有 favicon.ico。以上是关于使用 JMeter 时出现 503 HTTP 错误,但网页在浏览器上加载正常的主要内容,如果未能解决你的问题,请参考以下文章
从我的 Java 程序访问 URL 时出现 HTTP 503 错误 [重复]
使用 Jmeter 5.0 测试基于桌面的应用程序时出现 HTTP 采样器设置错误