JMeter一个错误the target server failed to respond--JMeter坑

问题:1、在测试一个http景象,特别是集波动TPS时刻,出现了一个错误。它现在是一个必须错误(压力顺利时却零星的错误,甚至很少见);

每次必现错误(開始一直怀疑是网络或程序的问题)

  2、失败事务报错信息例如以下,我遇到的是以下的那种

  • Socket closed
  • Non HTTP response code: org.apache.http.NoHttpResponseException (the target server failed to respond)

资料查询:https://wiki.apache.org/jmeter/JMeterSocketClosed

问题原因:在JMeter下,发送http 请求时,一般都是默认选择了use keepAlive(这个是什么?看后面资料),这个是连接协议,JMeter坑就在这里,默认勾选了这个(假设不勾选的话,也不会保存)。但其配置JMeter.properties中的时间设置默认却是注销的,也是是说,不会等待,一旦连接空暇,则立刻断开了,导致我们压測中出现了事务失败的情形。

解决:改动httpclient4.idletimeout=<time in ms> 设置成自己认为合理的时间,一般可设置成10-60s(表示连接空暇10s后才会断开),注意这边单位是ms。

改动完毕后再次压測,错误不再有了。

*********************************************************

《版权归作者[email protected]全部。请勿乱转载》

*****************************************相关资料------------------------------------------------------------------------

HTTP无状态协议和Connection:Keep-Aliveeasy犯的误区

名词解释:

HTTP无状态:无状态是指协议对于事务处理没有记忆能力,server不知道client是什么状态。从还有一方面讲,打开一个server上的网页和你之前打开这个server上的网页之间没有不论什么联系

假设你要实现一个购物车。须要借助于Cookie或Session或server端API(如NSAPI and ISAPI)记录这些信息,请求server结算页面时同一时候将这些信息提交到server

当你登录到一个站点时,你的登录状态也是由Cookie或Session来“记忆”的,由于server并不知道你是否登录

长处:server不用为每一个client连接分配内存来记忆大量状态,也不用在client失去连接时去清理内存。以更高效地去处理WEB业务

缺点:client的每次请求都须要携带对应參数。server须要处理这些參数

參考:http://en.wikipedia.org/wiki/Stateless_protocolhttp://www.webopedia.com/TERM/S/stateless.html

Keep-Alive:參考另外一篇文章HTTP
Keep-Alive 具体解释

easy犯的误区:

1、HTTP是一个无状态的面向连接的协议。无状态不代表HTTP不能保持TCP连接,更不能代表HTTP使用的是UDP协议(无连接)

2、从HTTP/1.1起。默认都开启了Keep-Alive。保持连接特性,简单地说。当一个网页打开完毕后,client和server之间用于传输HTTP数据的TCP连接不会关闭,假设client再次訪问这个server上的网页,会继续使用这一条已经建立的连接

3、Keep-Alive不会永久保持连接,它有一个保持时间。能够在不同的server软件(如Apache)中设定这个时间

转自:http://liuzhigong.blog.163.com/blog/static/178272375201141344312315/

版权声明:本文博主原创文章,博客,未经同意不得转载。

时间: 2024-07-30 00:40:17

JMeter一个错误the target server failed to respond--JMeter坑的相关文章

JMeter报错the target server failed to respond--JMeter的坑

问题:1.在测试某个http场景时,尤其是设置波动TPS时,出现了报错,是必现错误(压力平稳时却是偶发错误,甚至很少能看到): 每次必现错误(开始一直怀疑是网络或程序的问题)   2.失败事务报错信息如下,我遇到的是下面的那种 Socket closed Non HTTP response code: org.apache.http.NoHttpResponseException (the target server failed to respond) 资料查询:https://wiki.ap

sharepoint 2013 reporting services 远程server返回错误: (500) 内部server错误。

在sharepoint 2013部署reporting services过程中,点击管理中心,server上的服务.系统配置.提示了一个错误: 远程server返回错误: (500) 内部server错误. 解决方法就是安装 sql server 2012 ,而且打一个sql server 2012 sp1补丁.问题解决. 广州京微信息科技有限公司,微软sharepoint平台专业解决方式商.

navicat连接oracle数据库报ORA-28547: connection to server failed, probable Oracle Net admin error错误的解决方法

原文:navicat连接oracle数据库报ORA-28547: connection to server failed, probable Oracle Net admin error错误的解决方法 navicat是通过oracle客户端连接oracle服务器的. oracle的客户端有两种,一种标准的客户端安装程序,下载地址: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

安装VisualSVN Server 报&quot;Service &#39;VisualSVN Server&#39; failed to start. Please check VisualSVN Server log in Event Viewer for more details&quot;错误.原因是启动&quot;VisualSVN Server&quot;失败

安装VisualSVN Server 报"Service 'VisualSVN Server' failed to start. Please check VisualSVN Server log in Event Viewer for more details"错误.原因是启动"VisualSVN Server"失败 安装 VisualSVN Server 服务启动失败 咱们先来看一下这个服务在哪,计算机-右键-管理或者系统服务-在服务里面可以看到一个"

HTTP 错误 500.21 - Internal Server Error 处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”

HTTP 错误 500.21 - Internal Server Error 处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler” 原因:在安装Framework v4.0之后,再启用IIS,导致Framework没有完全安装 解决:1.先找到 aspnet_regiis.exe文件,先看看这个文件在什么位置, 2.开始->所有程序->附件->右键点击“命令提示符”->以管理员身份运行-&

HTTP 错误 500.21 - Internal Server Error处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”

HTTP 错误 500.21 - Internal Server Error处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”   原因:在安装Framework v4.0之后,再启用IIS,导致Framework没有完全安装 解决:开始->所有程序->附件->鼠标右键点击“命令提示符”->以管理员身份运行->%windir%\Microsoft.NET\Framework\v4.

解决 Ubutnu16.04 + opencv4.1 源码编译错误 Makefile:160: recipe for target &#39;all&#39; failed

最近源码编译 opencv,出现下面的错误 [ 60%] Built target opencv_dnn Makefile:160: recipe for target 'all' failed make: *** [all] Error 2 google 一下,才知道原来是安装了 Anaconda 后,python 和 gcc 都用的是 anaconda 的版本,anaconda 的 gcc 版本,比 system defalut 的版本低 参考:https://stackoverflow.c

JMeter分布式压测-常见问题之(Server failed to start: java.rmi.server.ExportException: Listen failed on port: 0; nested exception )

问题描述: 在Linux环境启动jmeter-server时抛出了如下异常: 问题描述: 1.可能监听的端口被占用,修改端口号2.Server相关的rmi配置需要调整 解决方案: 在目录/apache-jmeter-5.2.1/bin下,用vi编辑器打开名为jmeter.properties的文件找到server.rmi.ssl.disable=false,改为true,并把前面的#去掉 保存配置调整,重新启动jmeter-server即可恢复正常. 原文地址:https://www.cnblo

安装VisualSVN Server 报&quot; Service &#39;VisualSVN Server&#39; failed to start. &quot; 服务启动失败

安装VisualSVN Server 报"Service 'VisualSVN Server' failed to start. Please check VisualSVN Server log in Event Viewer for more details"错误.原因是启动"VisualSVN Server"失败 2 咱们先来看一下这个服务在哪,计算机-右键-管理或者系统服务-在服务里面可以看到一个"VisualSVN Server"项,状