[TOC]

一、环境搭建

1、安装java

安装jdk1.8:默认安装

配置环境变量:

新建系统变量​​JAVA_HOME​​ 值:jdk的安装路径

Jmeter性能测试_java

在path变量中新增两个值:​​;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;​

Jmeter性能测试_响应时间_02

验证java安装成功

Jmeter性能测试_程序员_03

2、安装jmeter

解压jmeter压缩包到指定路径

Jmeter性能测试_响应时间_04

双击jemeter.bat打开jmeter

Jmeter性能测试_响应时间_05

二、创建线程组执行测试

1、修改语言为中文

Jmeter性能测试_java_06

2、添加一个线程组

后续我们要添加的请求都是要放在线程组下的。线程组,也是进行性能测的基本组成单位。

Jmeter性能测试_java_07

3、为线程组添加请求

Jmeter性能测试_响应时间_08

Jmeter性能测试_程序员_09

4、添加一个查看结果树

用来观察测试结果

Jmeter性能测试_响应时间_10

Jmeter性能测试_java_11

5、添加一个聚合报告

聚合报告中,可以看到当前线程组执行的汇总情况

Jmeter性能测试_响应时间_12

Label :当前测试的各个请求

Average:当前请求平均响应时间

Median:当前请求中位值,排在50%个请求的响应时间

90%:当前请求中位值,排在90%个请求的响应时间

95%:当前请求中位值,排在95%个请求的响应时间

99% :当前请求中位值,排在99%个请求的响应时间

Min : 最小响应时间

MAX:最大响应时间

Error:错误率

Throughput:tps,每秒事务处理数

Recive:接收到的字节

Sent:发送的字节

三、性能测试中需要重点关注的指标

Ø 响应时间

Ø 并发用户数

Ø 吞吐量

Ø TPS(每秒事物处理数)

Ø 资源利用率(cpu、内存)

四、jmeter性能测试常用的插件

1、下载jmeter-plugins-manager-1.4.jar,然后将该文件放到..\apache-jmeter-5.0\lib\ext路径下,然后重启jmeter

Jmeter性能测试_java_13

重启后,就可以使用第三方插件了

Jmeter性能测试_线程组_14

Jmeter性能测试_响应时间_15

常用的插件如下:

Custom Thread Groups

该插件组可以提供额外模式的线程组,比如阶梯增加的线程组,做负载测试和压力测试是不错的选择。

PerfMon

该插件可以监听服务器的硬件性能,包括cpu、内存、网络情况等,但该插件需要配合服务器端的ServerAgent使用。

3 Basic Graphs

该插件组中的插件可以将测试数据生成对应的图形。

Active Threads Over Time

Jmeter性能测试_线程组_16

Response Times Over Time

Jmeter性能测试_java_17

Transactions per Second

Jmeter性能测试_响应时间_18

5 Additonal Graphs

Jmeter性能测试_响应时间_19

2、监听服务器的性能

首先添加PrefMon监听器

Jmeter性能测试_程序员_20

Jmeter性能测试_程序员_21

Jmeter性能测试_程序员_22

然后去服务器里打开监听用的软件。

Jmeter性能测试_线程组_23

Jmeter性能测试_java_24

Jmeter性能测试_程序员_25

3、Concurrency Thread Group

利用该线程组可以实现阶梯增压。

Jmeter性能测试_响应时间_26

4、登录场景下的压力测试

Jmeter性能测试_java_27

Jmeter性能测试_java_28

五、jmeter分布式环境搭建

  1. 调度机和slave机要在同一个局域网下。
  2. 在调度机和slave机上都要安装相同版本的java和相同版本的jmeter 建议,直接将调度机上配置好的jmeter复制到slave机上
  3. 修改调度机的配置文件jmeter.properties(该文件在jmeter安装目录的bin目录下)
    remote_hosts=Slave机器IP:端口(多台Slave机器则用英文逗号隔开)
    server.rmi.ssl.disable=true
    mode=Standard(开启标准模式可查看日志)

Jmeter性能测试_java_29

Jmeter性能测试_响应时间_30

  1. 配置slave机
    配置slave机,修改​​​jmeter.properties​​​:
    server_port=端口
    server.rmi.port=端口
    server.rmi.ssl.disable=true
  2. 执行测试
    测试之前,要开启所有的slave机
    在jmeter路径的bin目录下,执行下列命名
    ​​​./jmeter-server -Djava.rmi.server.hostname=当前slave机的IP地址​

Jmeter性能测试_程序员_31

Jmeter性能测试_java_32

六、命令行执行性能测试

命令:

jmeter -n -t 待测脚本.jmx -R slave机IP,slave2IP -l 测试结果.jtl

-n:使用命令行模式运行

-t:指定要运行的jmx脚本

-R:指定使用那些slave节点压测

-l:保存测试结果数据到指定文件