jmeter压测报错问题汇总:

一、单场景压测:1500用户持续并发3分钟时,jmeter脚本报错:
Response code: Non HTTP response code: java.net.BindException
Response message: Non HTTP response message: Address already in use: connect
原因分析:
windows端口被耗尽了(默认1024-5000),而且操作系统要2-4分钟才会重新释放这些窗口,所以可以增加windows的可用端口来解决。windows端口最大数为65534

解决方法一:
修改操作系统注册表
1、cmd输入:regedit
2、找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters
3、新建 DWORD值,name:MaxUserPort,value:65534(十进制)
4、重启系统

解决方法二:
将HTTP请求:改成短链接(去掉 使用 keepAlive 的勾)

两种解决方法均设置后,请求的错误百分比可以大大降低

二、socket closed
问题原因:在JMeter下,发送http 请求时,一般都是默认选择了use keepAlive,这个是连接协议,默认勾选了这个(如果不勾选的话,也不会保存),但其配置JMeter.properties中的时间设置默认却是注销的,也是是说,不会等待,一旦连接空闲,则立马断开了,导致我们压测中出现了事务失败的情形。
解决:修改httpclient4.idletimeout=<time in ms> 设置成自己觉得合理的时间,一般可设置成10-60s(表示连接空闲10s后才会断开),注意这边单位是ms。修改完成后再次压测,错误不再有了。

原文地址:https://blog.51cto.com/11959825/2448892

时间: 2024-07-30 04:25:10

jmeter压测报错问题汇总:的相关文章

Jmeter压测报错 java.net.BindException: Address already in use: connect

Jmeter压测报错java.net.BindException: Address already in use: connect 2019.08.29 18:12 今天压测接口遇到这么一个问题 当并发线程较高时,可能会出现Address already in use: connect的异常 搜索之后发现需要在regedit中添加注册表项MaxUserPort,TcpTimedWaitDelay重启一下就可以解决了. 解决方法: 1.打开注册表:ctrl+r 输入regedit 2.进入-计算机

jmeter linux压测报错:Error in NonGUIDriver java.lang.IllegalArgumentException: Problem loading XML from:&#39;/home/server/ptest/disk_out.jmx&#39;.

1.linux环境jmeter与win环境编写脚本的jmeter版本不一致,版本改为一致 2.脚本中存在中文,去除中文 3.脚本中存在类似于[email protected] - Active Threads Over Time 监听器,去除监听器(查看结果树和聚合报告可以保留) 再次上传至服务器压测 jmeter linux压测报错:Error in NonGUIDriver java.lang.IllegalArgumentException: Problem loading XML fro

jmeter 5.2下载binary版本后直接解压报错

jmeter 5.2下载binary版本后直接解压报错,是因为没有配置环境变量,MAC版本配置环境变量: 打开Terminal--终端,输入vi ~/.bash_profile,回车,打开~/.bash_profile文件:输入“i”,进入insert模式,进行编辑. 添加环境变量,例: export JMETER_HOME=/Users/.../apache-jmeter-5.2.1   classpath=%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar

jmeter压测学习1-window环境准备与案例

前言 最近用jmeter做一些接口的压力测试,记录下使用过程中遇到的一些问题. 在使用window机器做并发压测的时候,发现并发数设置100的时候,会出现报错:java.net.SocketException: Socket operation on nonsocket: connect 环境准备: java 1.8 jmeter 5.1.1 jmeter环境 jmeter环境依赖JAVA环境,需安装JDK1.8环境,JDK环境安装网上一大堆教程,自己去想办法吧,我这里就不多说了. jmeter

使用Apache JMeter压測Thrift

我这里以我的一篇帖子为样例 http://blog.csdn.net/mn960mn/article/details/50476759 这里已经有服务端了,先启动服务端 首先增加maven的依赖 <dependency> <groupId>org.apache.jmeter</groupId> <artifactId>ApacheJMeter_java</artifactId> <version>2.13</version>

jmeter压测app

使用代理的方式,录制app端脚本,之后用jmeter压测就没啥好说的了 1.电脑端谷歌设置本地代理(端口号为8888) 2.jmeter设置HTTP代理服务器(端口号为8888) 3.手机端wifi设置HTTP手动代理(服务器为电脑的IP,端口号为8888) 4.jmeter启动代理 5.手机端登陆使用app,jmeter录制到了脚本

【菜鸟学Linux】gzip解压报错:gzip: stdin has more than one entry--rest ignored

lz Linux菜鸟一枚,今天想用gzip解压下压缩包,据说Linux默认不支持rar压缩,需要安装组件. so,lz我特意zip压缩了一个文件上传上去解压,记得之前测试的时候都ok的正常解压:tar -zxvf  XXX.zip 不知道今天啥情况..难道是我之前重新搭建过环境的原因,用tar就报错.. 然后lz我多方查证,终于解决了问题,特来分享,不喜勿喷! 解决方法:改用unzip解压:unzip XXX.zip 报错原因:ar命令也是调用了gunzip命令的 [菜鸟学Linux]gzip解

postfix报错信息汇总

postfix_编译时make: *** [xsasl_cyrus_server.o] Error 1 make: *** [update] //如果编译出错,检查出错情况,一般是有包忘了装,要不是参数路径错误: [注释]: xsasl_cyrus_server.c:598: error: 'SASL_OK' undeclared (first use in this function) xsasl_cyrus_server.c:600: warning: format '%s' expects

java多线程&amp;&amp;Jmeter压测实现

笔者最近在看jmeter源码,对多线程处理部分的了解记录如下. Part1 线程与多线程概念 提到线程先来看一下进程(线程的容器)的概念,进程是一个具有独立功能的程序关于某个数据集合的一次运行活动.它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体.它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示. 对于jmeter来说,运行中的jmeter程序实例便是一个进程.而该进程中会包含大量线程. 线程是程序执行流的最小单位,是一组命令的集合.在jmeter中一