如何解决运行 JMeter 时收到非 HTTP resposne 代码异常
使用 JMeter/Blazemeter 运行测试时,我在测试开始后的 10-20 分钟内随机收到一段时间后收到以下错误。
- 非 HTTP 响应代码:org.apache.http.conn.HttpHostConnectException
- 500 内部服务器错误
- 非 HTTP 响应代码:org.apache.http.TruncatedChunkException
- 非 HTTP 响应代码:org.apache.http.NoHttpResponseException
我有 Apache 和 Weblogic 服务器。我已经尝试了以下
-
将客户端实现更改为 HTTPClient4
-
分别使用以下内容更新 user.properties 文件和 hc.parameters 文件
httpclient4.retrycount=1 hc.parameters.file=hc.parameters http.connection.stalecheck$Boolean=true
-
在 HTTP 请求中禁用“使用 Keep-Alive”。
问题有解决方案吗?
解决方法
你为什么认为这是 JMeter 相关的问题? HTTP status codes 5xx 是服务器端错误,因此我建议不要调整 JMeter 来查看被测系统,特别是:
- 负载均衡器/反向代理或什么是 Apache used for logs
- Weblogic logs
- 是否所有后端组件在 CPU、RAM、网络、磁盘等方面都有足够的资源,如果您没有 APM 工具,您可以考虑使用 JMeter PerfMon Plugin
- Apache/Weblogic/Database/其他中间件的配置,因为所有这些都需要针对高负载进行适当调整。
- HttpHostConnectException - 表示无法建立连接
- TruncatedChunkException - 表示您收到的回复不完整
- NoHttpResponseException - 表示无法将响应解析为 HTTP 打包
所以我的期望是您的应用程序过载,因此无法正确响应 JMeter 请求。我也不认为您“随机”收到错误,尝试从 1 个线程开始并逐渐增加负载,直到您开始收到错误,这样您就可以说明每秒的用户/请求数量“安全”,什么是最大值,什么时候响应时间开始增长,什么时候开始出现错误,当负载减少时应用程序是否恢复正常等。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。