问题: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。

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

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

《版权归作者lzqinfen@126.com全部。请勿乱转载》

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

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须要处理这些參数
 
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)中设定这个时间
 

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

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

  1. Jmeter性能测试NoHttpResponseException (the target server failed to respond)

    采用JMeter做Http性能测试时,在高并发请求的情况下,服务器端并无异常,但是Jmeter端报错NoHttpResponseException (the target server failed ...

  2. Jmeter压测过程报错the target server failed to respond

    失败事务报错信息如下, Socket closed Non HTTP response code: org.apache.http.NoHttpResponseException (the targe ...

  3. Jmeter返回org.apache.http.NoHttpResponseException: The target server failed to respond解决办法

    1.问题:这段时间使用jmeter压测时(300个请求,持续压300s,加速期10s),压力平稳时偶然错误,部分请求失败事务报错信息如下 org.apache.http.NoHttpResponseE ...

  4. JMeter出现“the target server failed to respond“的解决办法

    今天用jmeter压测执行过程中遇到一个报错如下: 解决方案如下: 1. 修改执行计划中,HTTP请求的Implementation为HttpClient4. 2. 保存执行计划 3. 修改JMete ...

  5. MS SQL错误:SQL Server failed with error code 0xc0000000 to spawn a thread to process a new login or connection. Check the SQL Server error log and the Windows event logs for information about possible related problems

          早晨宁波那边的IT人员打电话告知数据库无法访问了.其实我在早晨也发现Ignite监控下的宁波的数据库服务器出现了异常,但是当时正在检查查看其它服务器发过来的各类邮件,还没等到我去确认具体情 ...

  6. jmeter linux分布式压测Server failed to start: java.rmi.server.ExportException: Listen failed on port: 0; nested exception is: java.io.FileNotFoundException: rmi_keystore.jks

    在路径\apache-jmeter-5.0\bin下启动jmeter-server.bat时抛出了如下异常: 1.jmeter 1099端口 被占用,修改端口号 使用netstat -lntp|gre ...

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

    在sharepoint 2013部署reporting services过程中,点击管理中心,server上的服务.系统配置.提示了一个错误: 远程server返回错误: (500) 内部server ...

  8. 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错误的解决方法 ...

  9. 安装VisualSVN Server 报"Service 'VisualSVN Server' failed to start. Please check VisualSVN Server log in Event Viewer for more details"错误.原因是启动"VisualSVN Server"失败

    安装VisualSVN Server 报"Service 'VisualSVN Server' failed to start. Please check VisualSVN Server ...

随机推荐

  1. 用消息在Win32控制台程序多线程间进行通讯

      #include <stdio.h> #include <windows.h> //#include <iostream> //#include <pro ...

  2. C# 创建验证码图片

    using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; us ...

  3. ASP.NET入门 - 错误和异常处理

    当发生错误时,应该向用户提供一个友好的界面,可以屏蔽详细技术信息,也有助提升用户体验,这时就用到了异常处理. 错误类型: 语法错误:因缺少关键字,符号,或其他不正确代码所产生的错误,无法通过编译. 逻 ...

  4. (四)CodeMirror - API

    内容相关 cm.getValue() cm.setValue() cm.getRange() editor.getRange({line:1},{line:2}) // 获取内容块字符 cm.repl ...

  5. Java学习笔记——可视化Swing中JTable控件绑定SQL数据源的两种方法

    在 MyEclipse 的可视化 Swing 中,有 JTable 控件. JTable 用来显示和编辑常规二维单元表. 那么,如何将 数据库SQL中的数据绑定至JTable中呢? 在这里,提供两种方 ...

  6. C# txt文件读写

    //读取文件内容 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出. ]; ]; public void Read() { try { FileStream fil ...

  7. 列表:一个打了激素的数组 - 零基础入门学习Python010

    列表:一个打了激素的数组 让编程改变世界 Change the world by program 列表:一个打了激素的数组 有时候我们需要把一堆东西暂时存储起来,因为他们有某种直接或者间接的联系,我们 ...

  8. silverlight中使用Json读取数据

    假定按照 如何:对基于 HTTP 的服务发出请求中描述的方法向基于 HTTP 的 Web 服务发出请求后,在 Stream 类型的 responseStream 对象中返回了下列 JSON. {&qu ...

  9. c++第三天

    今天完成的事情: [主线] 1.复习了一下昨天的内容 while(std::cin >> value) 扫描[标准输入] 2.在网上下载Sales_item.h 代码如下 #ifndef ...

  10. IOS 推送原理

    最近两天在研究ios的消息推送机制.研究这个东西,还是充满兴趣的. Push的原理: Push 的工作机制可以简单的概括为下图 图中,Provider是指某个iPhone软件的Push服务器,这篇文章 ...