显示响应代码的jMeter:非HTTP响应代码:org.apache.http.ConnectionClosedExce



>我正在jMeter中使用两个线程组进行负载测试,两个线程组都有50个用户,爬坡周期为60秒。使用Blazemeter,我记录了填写和提交表格的会话,然后对其进行了轻微修改。其中一个组使用 POST 方法登录,然后提交表单,另一个组填写匿名用户。当我运行测试时,我遇到了错误:

响应代码:非 HTTP 响应代码:org.apache.http.ConnectionClosedException 响应消息:非 HTTP 响应消息:块编码消息正文过早结束:预期关闭块

仅适用于已登录的组。

这就是我的测试的样子

我以前在同一台服务器上使用相同的测试配置,但形式不同,没有给出任何错误。

根据指令描述,很可能您从服务器收到不完整chunked响应

数据以一系列块的形式发送。在这种情况下,Content-Length 标头被省略,在每个块的开头,您需要以十六进制格式添加当前块的长度,后跟"\r",然后是块本身,后跟另一个"\r"。终止块是一个常规块,不同之处在于其长度为零。它后面是尾部,它由实体标头字段的序列(可能为空(组成。

根据您收到的错误,您正在测试的应用程序无法提供终止块。

  1. 检查应用程序日志
  2. 确保应用程序没有过载,即使用 JMeter PerfMon 插件监控其基线操作系统运行状况指标,因为这可能是由于缺乏 CPU 或 RAM 等资源
  3. 尝试通过在线程组中使用更长的启动时间来逐渐增加负载,这样您就可以准确地知道问题何时发生。

最新更新