一、设置JMeter默认打开字体
1、进入安装目录:apache-jmeter-x.x.x\bin\
2、找到 jmeter.properties,打开。
3、搜索“ language=en ”,前面带有“#”号.。
4、去除“#”号,并修改为:language=zh_CN 或 直接新增一行:language=zh_CN。
5.保存。
6.重启Jmeter。
二、解决JMeter中文返回值是乱码
在jmeter/bin路径下的jmeter.properties,第1095行左右,将默认的sampleresult.default.encoding=ISO-8859-1改为UTF-8,解决返回结果的中文乱码,如下:
三、报错SSL
JMeter SSL报错 jmeter Remote host terminated the handshake
但是请求https接口报错了
报错信息如下
jmeter Remote host terminated the handshake
请在jmeter目录下,找到jmeter.properties
加入:
proxy.ssl.protocol=TLSv1,TLSv1.1,TLSv1.2,SSLv3
四、JMeter压测过程中报错 Address already in use: connect
1、调整压测机器的注册表配置
做压力测试的时候发现当客户端连续创建连接一段时间后报 Address already in use : connect … 乱七八糟一堆异常 再尝试建立连接已经连不上了,通过 netstat -a 命令查看,有一大堆状态为 TIME_WAIT 的占用连接不被释放 网上查到很多这类问题解决办法 问题原因: Java的 Socket.close() 并不能立即释放连接,会造成一段时间内 TIME_WAIT 的状态 操作系统可供使用的连接数有默认限制,很快会被占满 解决办法 (后面查阅了相关资料后发现,是因为windows本身提供的端口访问机制的问题。)
1. Tomcat中Connector配置里增加辅助参数(经验证无效) Xml代码
2. 修改操作系统注册表(经验证能够解决问题)
·打开注册表:regedit
· HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters
· 新建DWORD值,name:TcpTimedWaitDe,value:30(十进制) –> 设置为30秒,默认是240秒
· 新建DWORD值,name:MaxUserPort,value:65534(十进制) –> 设置最大连接数65534
重启系统
2、消请求的长连接设置
五、JMeter性能测试过程中偶尔卡顿
在性能测试过程中,我们肯定遇到过,用Jmeter测试过程中,大并发的时候工具直接卡死,无法操作。
在察看结果树页面,勾选仅日志错误。
具体原因: 在并发测试过程中,察看结果树中会有较多的请求返回导致卡顿,勾选仅日志错误后,只显示失败的请求,这样对jmeter客户端压力会减小。
六、JMeter报错java.lang.outofMemoryError
内存溢出解决办法:调整JVM内存的相关参数,堆内存的大小。将jmeter.bat脚本中的内存调整至。
set HEAP=-Xms2048m -Xmx4096m
set NEW=-XX:NewSize=2048m -XX:MaxNewSize=4096m
注意: 一般而言,设置HEAP的最大值不要超过物理内存的一半,否则容易导致jmeter运行变慢、卡顿甚至内存溢出(因为java本身的垃圾回收机制是动态分配内存,调整时候其本身会占用很多内存)
七、JMeter对所传的参数进行编码
Http请求中Url编码勾选与否,应用于两个场景:
1)一种是传递的参数中含有特殊字符,比如=,?,空格,&,%。例如,有个参数是aa=bb=cc,这到底是“aa” = “bb=cc”这样的表达,还是“aa=bb” = “cc”这样的表达,服务器会误解。勾选url编码后,表达式被编码成aa=bb%xxcc,其中一个=号转换掉,这样就不会误解了。
2)另一种就是参数值为中文,使用编码后会对中文进行转码。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理