jmeter性能测试项目实战视频 (jmeter性能测试面试题及答案)

线程组的循环次数控制哪些线程?

线程组下除逻辑控制器的线程,都按照线程组的循环次数运行。

如何设置多个线程组生成一份报告?

在测试计划下新增聚合报告。

jmeter高级性能测试项目实战,jmeter性能测试真实案例分析

场景运行

如何查看场景运行情况

例如:场景运行后,时间00:00:01显示的是当前场景运行的时长,后面感叹号的图标是当前场景中是否有线程异常,0为没有线程异常,0/4中前面代表当前运行的线程数,后面的4代表共运行了4个线程。在场景运行过程中点击STOP标志或关闭按钮,可以停止当前场景。

如何清除场景运行结果

单击扫把图标清除当前监听结果,单击图标多个扫把清除全部监听结果。

当机器产生的压力不能满足测试需求时,如何运行场景

通常在需要大压力的场景下,一台机器产生的压力不能满足测试需求,就需要多台压力机,这时就需要远程执行,如下图所示:

jmeter高级性能测试项目实战,jmeter性能测试真实案例分析

本机运行类似于LoadRunner中将本机作为Controller同时也作为Agent;远程执行类似于LoadRunner中将Agent安装在别的机器上。

GUI运行:GUI方式是可视化,直接通过点击鼠标就可以控制场景的启动和停止,同时也能随时查看场景的运行状况,实时结果,测试线程数等。

在启动远程机之前需要在JMeter控制机上配置jmeter.properties文件,将远程负载机IP地址配置到控制台jmeter.properties文件中;如下图所示,将远程负载机的IP地址配置在Remote_hosts=配置项后面,多台机器用逗号间隔,如果没有指定端口的话,默认不配置端口。

注意:远程运行方式如果脚本有依赖的参数文件或包等文件,需要先把这些文件拷贝到远程机负载机上,这点不是很人性化,云智慧的压测宝就不存在这样的问题,只要把参数传上就可以了。

远程执行:

远程执行通常是在一台机器上的JMeter作为Controller,远程的多台机器(slave)作为负载生成器,JMeter控制台与负载机的是通过RMI方式来完成的。在负载机上运行Agent程序,首先启动jmeter-server,在JMeter控制机(Master)上启动远程控制机。

非GUI方式运行:

非GUI方式是没有JMeter图形化界面,在命令行窗口通过命令来运行场景,之所以用非GUI方式运行,是因为JMeter可视化界面及监听器动态展示结果都比较消耗负载机的资源,在大并发下GUI方式往往会导致负载机资源紧张,对性能测试结果造成影响。当然这个影响不是影响被测系统如导致响应时间变大,处理能力减小等,而是影响负载机负载压力的产生,如非GUI方式可以产生200TPS的负载,而GUI方式只能产生140TPS的负载。当然如果资源比较充足的情况下,GUI方式更能直观实时了解测试场景运行状况。至于用哪种方式,个人认为根据实际情况选择,资源不宽裕的情况下选择非GUI方式,资源充足的情况下可以用GUI方式。

非GUI方式运行命令共两种方式,如下:

1、 jmeter –n –t /home/jeff/script/jmeter_test.jmx –l /home/jeff/result/test.jtl

2、 –jar /apache-jmeter-3.0/bin/ApacheJMeter.jar –n –t /home/jeff/script/jmeter_test.jmx –l /home/jeff/result/test.jtl