JMETER常见问题及解决总结

1、通过调整JMETER日志级别来定位问题

        解决方案:在调试JMETER脚本时,未了获得更详细的日志,可以修改JMETER配置文件中的日志级别。日志级别分为FATAL_ERROR,ERROR,WARN,INFO,DEBUG五级。其中,FATAL_ERROR打印日志最少,DEBUG打印日志最详细。JMETER3.2版本之前,是在jmeter.propertis文件中修改log_level.jmeter。在3.2版本之后,是在log4j2.xml文件中修改。调试脚本可使用DEBUG级别看详细信息以便定位问题,发压时建议设置成ERROR,以免打印日志耗费系统资源。

2、发压机系统资源利用率低,但报告结果TPS上不去,或者JMETER工具报OutOfMemoryError

        解决方案:原因是JMETER默认分配的内存参数较小,为512M。可通过修改JMETER工具中JVM的内存分配来解决。修改方法:打开jmeter.bat文件,将set HEAP = -Xms512m -Xmx512m修改成set HEAP = -Xms1024m -Xmx1024m

3、JMETER开始录制是报错:Could not create script recorder,由于机器上按了两个版本的JDK导致

        解决方案:确认环境变量中JDK的classpath,并在jmeter.bat中修改参数,指定JDK的版本号和位置。需要修改的参数如下
        set MINIMAL_VERSION=1.8.0_181
        set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_181\bin
        set PATH=%JAVA_HOME%\bin;%PATH%

4、大并发测试时,发压机CPU很高,程序卡顿

        解决方案:JMETER性能测试过程中,由于发压机的配置有限,CPU、内存可能存在瓶颈。当用大并发进行测试时,程序可能比较卡。需要搭建jmeter分布式集群,增加发压机进行远程启动测试。

5、JMETER返回的响应数据是乱码        是

�        解决方案:在jmeter.properties文件中,将sampleresult.default.encoding的值修改为UTF-8

6、对于没有返回响应数据的接口该如何设置断言

�        解决方案:在性能测试脚本中要注意检查点的设置,以便获知交易的脚本是否成功执行。当请求发送后有响应数据时,可添加响应文本作为断言,如交易成功等信息。当请求发送后无响应数据时,可添加响应代码作为断言。如HTTP协议的请求发送后,响应代码200带代表请求已成功。

你可能感兴趣的:(JMETER常见问题及解决总结)