一、环境搭建
1、安装java
安装jdk1.8:默认安装,配置环境变量,新建系统变量JAVA_HOME
值:jdk的安装路径
在path变量中新增两个值:;%JAVA_HOME%bin;%JAVA_HOME%jrebin;
验证java安装成功
2、安装jmeter,解压jmeter压缩包到指定路径
双击jemeter.bat打开jmeter
二、创建线程组执行测试
- 修改语言为中文
2、添加一个线程组,后续我们要添加的请求都是要放在线程组下的。线程组,也是进行性能测的基本组成单位。
3、为线程组添加请求
4、添加一个查看结果树,用来观察测试结果
5、添加一个聚合报告,聚合报告中,可以看到当前线程组执行的汇总情况
Label :当前测试的各个请求
Average:当前请求平均响应时间
Median:当前请求中位值,排在50%个请求的响应时间
90%:当前请求中位值,排在90%个请求的响应时间
95%:当前请求中位值,排在95%个请求的响应时间
99% :当前请求中位值,排在99%个请求的响应时间
Min : 最小响应时间
MAX:最大响应时间
Error:错误率
Throughput:tps,每秒事务处理数
Recive:接收到的字节
Sent:发送的字节
三、性能测试中需要重点关注的指标
Ø 响应时间
Ø 并发用户数
Ø 吞吐量
Ø TPS(每秒事物处理数)
Ø 资源利用率(cpu、内存)
四、jmeter性能测试常用的插件
- 下载jmeter-plugins-manager-1.4.jar,然后将该文件放到..apache-jmeter-5.0libext路径下,然后重启jmeter
重启后,就可以使用第三方插件了
常用的插件如下:
Custom Thread Groups
该插件组可以提供额外模式的线程组,比如阶梯增加的线程组,做负载测试和压力测试是不错的选择。
PerfMon
该插件可以监听服务器的硬件性能, 包括cpu、内存、网络情况等,但该插件需要配合服务器端的ServerAgent使用。
3 Basic Graphs
该插件组中的插件可以将测试数据生成对应的图形。
Active Threads Over Time
Response Times Over Time
Transactions per Second
Additonal Graphs
监听服务器的性能,首先添加PrefMon监听器
然后去服务器里打开监听用的软件。
Concurrency Thread Group
利用该线程组可以实现阶梯增压。
登录场景下的压力测试
五、jmeter分布式环境搭建
- 调度机和slave机要在同一个局域网下。
- 在调度机和slave机上都要安装相同版本的java和相同版本的jmeter 建议,直接将调度机上配置好的jmeter复制到slave机上
- 修改调度机的配置文件jmeter.properties(该文件在jmeter安装目录的bin目录下) remote_hosts=Slave机器IP:端口(多台Slave机器则用英文逗号隔开) server.rmi.ssl.disable=true mode=Standard(开启标准模式可查看日志)
- 配置slave机
配置slave机,修改
jmeter.properties
: server_port=端口 server.rmi.port=端口 server.rmi.ssl.disable=true 执行测试 测试之前,要开启所有的slave机 在jmeter路径的bin目录下,执行下列命名./jmeter-server -Djava.rmi.server.hostname=当前slave机的IP地址
六、命令行执行性能测试
命令:
代码语言:javascript复制jmeter -n -t 待测脚本.jmx -R slave机IP,slave2IP -l 测试结果.jtl
-n:使用命令行模式运行
-t:指定要运行的jmx脚本
-R:指定使用那些slave节点压测
-l:保存测试结果数据到指定文件