性能测试 Jmeter 01

windows下启动bin下的jmeter.bat , Linux和mac启动bin下的jmeter.sh。
工具:badboy + Jmeter

一、Jmeter组成

取样器:进行脚本逻辑控制
线程组:场景设置
监视器:监控我们的脚本运行,取得性能指标

其他性能测试工具组成也是这三部分。

性能测试 Jmeter 01

二、使用

2.1 录制脚本
(1)、打开badboy,输入测试网址
(2)、完成录制,再点击左上角File的Export to JMete,保存导出 **.jmx

2.2 使用Jmeter,打开badboy录制的脚本,进行分析
(1)、file ->open

性能测试 Jmeter 01
可在线程组里定义并发数,
Number of Threads(users) :一个用户占一个线程(模拟有多少用户请求),如果线程数为20,即模拟20个用户;
Ramp-Up Period(in seconds) :设置线程需要多长时间全部启动(多少秒内全部完成,时长为10,则需要每秒启动2个线程;
Loop Count :每个线程发送请求的次数(循环几次),如果线程数为20,循环次数为10,每个线程发送10次请求,如果勾选了“永远”,则所有线程会一直发送请求,直到手动停止运行脚本。

压测步骤已写好了。

2.3  添加监听器,查看压测返回结果。
      (1) 添加 监听器 -> 查看结果树、聚合报告

性能测试 Jmeter 01

执行后,可查看结果树

性能测试 Jmeter 01

2.4  聚合报告解析

性能测试 Jmeter 01
Label : 每个JMeter的element的Name值。例如HTTP Request的Name。
Samples: 样本数量。多少个请求。
Average:平均响应时间(单位:ms(毫秒))。默认是单个Request的平均响应时间,当使用了TransactionController时,也可以以Transaction为单位显示平均响应时间。
Median:中位数,也就是50%用户的响应时间
90%Line:90%用户的响应时间
95%Line:95%用户的响应时间
99%Line:99%用户的响应时间

注:为什么要有*%用户响应时间?因为在评估一次测试的结果时,仅仅有平均事物响应时间是不够的。假如有一次测试,总共有100个请求被响应,其中最小响应时间为0.02秒,最大响应时间为110秒,平均事务响应时间为4.7秒,你会不会想到最小和最大响应时间如此大的偏差是否会导致平均值本身并不可信?

我们可以在95 th之后继续添加96/ 97/ 98/ 99/ 99.9/ 99.99 th,并利用Excel的图表功能画一条曲线,来更加清晰表现出系统响应时间的分布情况。这时候你也许会发现,那个最大值的出现几率只不过是千分之一甚至万分之一,而且99%的用户请求的响应时间都是在性能需求所定义的范围之内的;如下图则是最低响应时间的值出现几率是很小的,实际99%的用户请求响应时间都要20000+。

Min:最小响应时间
Max:最大响应时间
Error%:本次测试中出现错误的请求的数量/请求的总数
Throughput:吞吐量。默认情况下标示每秒完成的请求数
KB/sec:每秒从服务器端接收到的数据量

参考: jmeter+badboy压力测试
https://blog.****.net/feiwutudou/article/details/82892908
https://blog.****.net/languolan/article/details/80022520

修改语言:option -> choose language ->....