JMeter性能测试-HttpRequest篇

近期一直在偷偷观察测试总监搞性能测试,出于对自身的提高与发自内心的好奇,我决定自己去学习性能测试,然后偷偷取代我们的测试总监,哈哈哈!
听说Go的单元测试框架非常适合搞性能,于是学习一个早上,发现Go语言的代码风格有点反人类。于是我准备使用python写性能测试脚本来实现,用到了Locust性能测试框架。但是从我找到的案例来看,一时间难以看懂,好家伙。最终我决定使用JMeter…
第一步:下载安装(略)
第二步:打开JMeter并在Test Plan下创建线程组并设置线程组数,每组执行数目等
JMeter性能测试-HttpRequest篇_第1张图片
Number of Threads = 每组执行次数
Ramp-up period = 所有线程启动时间,执行所有线程的总时间,0表示所有线程同时启动
Loop Count = 线程组数(执行总次数=Loop Count * Number of Threads)
JMeter性能测试-HttpRequest篇_第2张图片
第三步:创建默认请求地址,相当于环境

JMeter性能测试-HttpRequest篇_第3张图片
我们再配置请求方式,服务器地址和端口
JMeter性能测试-HttpRequest篇_第4张图片
第四步:创建接口,并在接口中填入请求方式和请求地址
JMeter性能测试-HttpRequest篇_第5张图片

JMeter性能测试-HttpRequest篇_第6张图片
请求参数请在这里添加,HTTP Request正下方
在这里插入图片描述
第五步:准备就绪,我们需要创建监听来查看性能测试结果
全在Listener中,我主要看Aggregate Report和Graph Results两种。

JMeter性能测试-HttpRequest篇_第7张图片
第六步:执行并分析结果
点击绿色播放键即可执行,本次线程总数100。
JMeter性能测试-HttpRequest篇_第8张图片
先看Aggregate Report,解释下概念
Label:请求的名称,本次案例名称是HTTP Request

#Samples:发出去的线程数,吻合了我们设置的100

Average:单个请求的平均响应时间,单位是毫秒

Median:响应时间的50%百分位的值,也就是有50%的请求响应时间小于该值

90%Line:90%的请求的响应时间

95%Line:95%的请求的响应时间

99%Line:99%的请求的响应时间

Min:最小的响应时间

Max:最大的响应时间

Error%:错误率=错误的请求的数量/请求的总数

Throughput: 吞吐量即表示每秒完成的请求数

KB/sec: 发包/收报的效率
JMeter性能测试-HttpRequest篇_第9张图片
再看Graph Results,解释下概念
NO of Samples: 发出去的线程数,吻合了我们设置的100
Latest Sample: 最后一次请求的响应时间
Average: 所有请求的平均响应时间
Deviation: 响应时间变化、离散程度测量值的大小,也就是数据的分布偏差,值越小越好
Throughput: 吞吐量即表示每秒完成的请求数
Median: 响应时间的50%百分位的值,也就是有50%的请求响应时间小于该值

以上是100条线程的性能测试结果。
接下来看看一下10000条线程会发生什么。
点击清除结果按钮
JMeter性能测试-HttpRequest篇_第10张图片
设置线程数
JMeter性能测试-HttpRequest篇_第11张图片
执行
在这里插入图片描述
可以看到虽然是同时启动的线程,但是这次时间长了很多,说明服务器处理能力还不够同时处理10000条请求。
在这里插入图片描述
可以看到吞吐量和刚才差不多,处于315-325之间。所以服务器处理10000条请求的时间变长了可以解释为吞吐量太低。
JMeter性能测试-HttpRequest篇_第12张图片
至于Deviation数值过大,说明服务器响应不太稳定。
JMeter性能测试-HttpRequest篇_第13张图片
OK,以上ありがとうございました!

你可能感兴趣的:(自动化测试,jmeter,http)