在用jmeter运行是报错“Non HTTP response message: The target server failed to respond”和“Non HTTP response code: java.net.SocketException”,修改jmeter.properties文件中的属性值httpclient.timeout=<time in ms>,一般修改成<time in ms>这边是毫秒,根据情况设置10-60毫秒,能解决报错问题,但相应时间是正常测试的2-3倍,响应时间变长,问题还是没有真正解决。
jmeter 的http请求中中,工具会默认勾选Use KeepAlive ,在运行时,jmeter.properties中的时间(httpclient.timeout)设置默认是注销的,也就是连接空闲,立马断开,这也可能是报错的原因。
jmeter官网上对socket报错,给出修改建议,有兴趣可以看看,https://wiki.apache.org/jmeter/JMeterSocketClosed
---------------------------------------------------------------------------------
转:http://liuzhigong.blog.163.com/blog/static/1782723752011412551547/相关知识:
Not reliable(不可靠)
HTTP 是一个无状态协议,这意味着每个请求都是独立的,Keep-Alive没能改变这个结果。另外,Keep-Alive也不能保证客户端和服务器之间的连接 一定是活跃的,在HTTP1.1版本中也如此。唯一能保证的就是当连接被关闭时你能得到一个通知,所以不应该让程序依赖于Keep-Alive的保持连接 特性,否则会有意想不到的后果
Keep-Alive和POST
在 HTTP1.1细则中规定了在一个POST消息体后面不能有任何字符,还指出了对于某一个特定的浏览器可能并不遵循这个标准(比如在POST消息体的后面 放置一个CRLF符)。而据我所知,大部分浏览器在POST消息体后都会自动跟一个CRLF符再发送,如何解决这个问题呢?根据上面的说明在POST请求 头中禁止使用Keep-Alive,或者由服务器自动忽略这个CRLF,大部分服务器都会自动忽略,但是在未经测试之前是不可能知道一个服务器是否会这样 做。
Java实现--客户端
在客户端,Java抽象了 Keep-Alive,和程序员分享离开来,HttpURLConnection类自动实现了Keep-Alive,如果程序员没有介入去操作Keep- Alive,Keep-Alive会通过客户端内部的一个HttpURLConnection类的实例对象来自动实现。也就是说,在java中keep- alive是由一个Java类库来实现的,但在其他类库中不一定可用。
Java实现--服务器端
在 服务器端,Java依然是将Keep-Alive抽象出来,HttpServlet、HttpServletRequest、和 HttpServletResponse类自动实现 了Keep-Alive。这种情况下一些由第三方控制的操作是可能的,如在KeepAliveServlet中提到的 JavaWebServer,Keep-Alive是否启用由两个因素决定,内容长度和输出大小,如果内容长度是响应的一部分(即这段内容长度输出后还有 内容需要输出),则Keep-Alive被启用(当然需要客户端支持的情况下);如果内容长度未设定,则Servlet会试着计算响应缓冲区长度以确定内 容长度,在Javasoft实现中,使用一个4KB的缓冲区(相当于上面说的响应)。也就是说如果内容长度未设定,并且返回数据超过4KB,此时相当于内 容长度大于响应长度,而不是响应长度一部分,Keep-Alive就不会被启用 。
相关推荐
在linux上启动jmeter-server报错: Server failed to start: java.rmi.RemoteException: Cannot start. localhost is a loopback address. An error occurred: Cannot start. localhost is a loopback address.
JMeter导入jmx运行脚本时出现这样的错误jmeter.save.SaveService: Conversion error com.thoughtworks.xstream.converters.ConversionException:2016/12/20 13:51:55 ERROR - jmeter.save.SaveService: Conversion ...
JMeter使用之常见问题问答:里面包含很多常见的问题,请参考;
压缩包里有:http_sample.jmx,JMeterPlugins-Extras.jar,JMeterPlugins-Standard.jar,ServerAgent-2.2.1.zip 1:安装Java8环境 2:安装apache-jmeter-3.1 下载地址:...
4 Server failed to start: java.rmi.server.ExportException: Listen failed on port…找不到指定文件; 5 Server failed to start: java.rmi.RemoteException: Cannot start. localhost.localdomain is a loopback...
课时1:试听 课时2:付费学员服务指引 课时3:1.从不同角度理解软件性能 课时4:2....课时5:3....课时6:4.JMeter初步认识 课时7:JMeter-I.ppt 课时8:1.Test Plan元素的执行顺序 课时9:2.Logic Controller ...课时30:JMeter-VI.ppt
《JMeter插件详解:Standard与Extras的魅力》 在性能测试领域,Apache JMeter是一款备受推崇的开源工具,它能够对各种服务器、网络或对象进行压力和负载测试。然而,尽管JMeter本身功能强大,但有时其内置的功能并...
“client”用于编辑和控制测试脚本,“server”则负责实际运行JMeter测试脚本并向被测服务器发送请求。 - 确保“server”和“client”之间的网络连通性。可以通过相互ping彼此的IP地址来检查网络是否正常。 - 在...
Jmeter接口测试过程中,遇到需要jar包引入时需要怎么做?调试成功后的脚本,完全step by step教程
Jmeter做性能测试时,...2.下载ServerAgent-2.2.3,并在目标服务器运行。 3.在Jmeter界面进行监听配置。 可以参考下这篇:https://blog.csdn.net/weixin_47130880/article/details/141264720?spm=1001.2014.3001.5502
课程主要目录: 1:Jmeter 安装及环境配置 2:Jmeter 目录及配置文件说明 3:Jmeter 各大组件介绍说明 4:实战项目环境搭建 5:脚本录制之 badboy 6:脚本录制之 jmeter 代理 7:脚本录制之移动端APP录制 8:Fiddler...
3.配置jmeter环境变量 vim /etc/profile 添加 export PATH=/apache-jmeter-4.0/bin/:$PATH 注意路径 4.使用 rz命令上传jdk1.8 linux 64位版本 解压到 usr/local 目录下 下载jdk安装包 下载地址:...
jmeter报告样式,可展示接口详细信息。例如: Thread Name : 初始化 1-1 Timestamp : Wed May 11 2022 17:50:46 GMT+0800 (中国标准时间) Time : 1522 ms Latency : 1522 ms Bytes : 42 Sample Count : Error Count...
《Jmeter压测工具ServerAgent-2.2.1:深入了解与应用》 Apache JMeter是一款广泛应用的开源压力测试工具,主要用于对Web应用程序进行性能测试和负载测试。在Jmeter的测试环境中,ServerAgent是一个非常重要的组件,...
jmeter使用ocrserver工具自动识别验证码配置
jmeter 文件下载、安装和配置,以及报错的解决 jmeter 是一款功能强大的性能测试工具,由 Apache 软件基金会开发和维护。jmeter 的主要功能包括性能测试、loadTesting、server分析、协议模拟等。下面将详细介绍 ...
jmeter测试工具中,JMeterPlugins-standard、JMeterPlugins-Extras、ServerAgent-2.2.3监听插件资源分享(windows、linux、macOS系统通用)
1:Jmeter 安装及环境配置 2:Jmeter 目录及配置文件说明 3:Jmeter 各大组件介绍说明 4:实战项目环境搭建 5:脚本录制之 badboy 6:脚本录制之 jmeter 代理 7:脚本录制之移动端APP录制 8:Fiddler...