JMETER的使用方法

前言

最近公司要做压力测试,于是翻了一会以前的资料,找到了前同事zyx编写的jmeter使用方法文档,于是搬运过来方便以后查找。


GUI测试步骤

新建测试计划

文件->新建->修改名称

添加线程组

右键测试计划->添加->线程(用户)->线程组

设置线程数 (所谓线程数就是并发用户数)

设置固定每秒请求数

如果需要控制每秒提交的吞吐量则需要配置。例如目标吞吐量为12000,代表每秒钟吞吐量为200/s

基于计算吞吐量:有5个选项:

  1. This thread only:控制每个线程的吞吐量,选择这种模式时,总的吞吐量为设置的target Throughput 乘以该线程的数量
  2. All active threads:设置的target Throughput 将分配在每个活跃线程上,每个活跃线程在上一次运行结束后等待合理的时间后再次运行。活跃线程指同一时刻同时运行的线程。
  3. All avtive threads(shared):与All active threads的选项基本相同。唯一区别是,每个活跃线程都会在所有活跃线程上一次运行结束后等待合理的时间后再次运行。
  4. All active threads in current thread group:设置的target Throughput 将分配在当前线程组的每一个活跃线程上,当测试计划中只有一个线程组时,该选项和All active threads 选项的效果完全相同。
  5. All active threads in current thread group(shared):与All active threads in current thread group 基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程的上一次运行结束后等待合理的时间后再次运行。

添加设置http header

添加->配置元件->HTTP信息头管理器

添加设置Http请求

添加->取样器->HTTP请求

添加监听器

运行

查看结果

查看结果树
成功的事务显示绿色,失败的即显示红色

聚合报告

Label:httpRequest name属性值。
样本:测试的过程中所有用户发出的总请求即总线程数,(如果模拟10个用户,每个用户迭代10次,这里就显示100),对应图形报表中的样本数目。
平均数:单个Request的平均响应时间,计算方法是总运行时间除以发送到服务器的总请求数,对应图形报表中的平均值。
中位数:50%用户的响应时间。
90%百分位:90%用户的响应时间。
最小值:服务器最短响应时间,单位毫秒。
最大值:服务器最长响应时间,单位毫秒。
异常%:错误率,请求的数量/请求的总数。
吞吐量:默认情况下表示每秒完成的请求数。
接收KB/Sec:每秒从服务器接收到的数据量,即每秒钟请求的字节数。

图形结果

样本数目:总共发送到服务器的请求数。
最新样本:代表时间的数字,是服务器响应最后一个请求的时间。
吞吐量:服务器每分钟处理的请求数。
平均值:总运行时间除以发送到服务器的请求数。
中间值:有一半的服务器响应时间低于改值而另一半高于该值。
偏离:表示服务器响应时间变化、离散程度测量值的大小。

命令行测试

生成测试报告

1
jmeter -n -t /usr/local/jmeter/apache-jmeter-5.5/bin/script/huawei_test_2.jmx -l /usr/local/jmeter/apache-jmeter-5.5/bin/report/0623_028.jtl -e -o /usr/local/jmeter/apache-jmeter-5.5/bin/result/result28