JMeter 初步使用测试
- IT
- 2021-05-24 22:37:34
- 2764
Apache JMeter是开源免费的,功能全面,比较适合企业级应用。从上手难度来说,JMeter居中,需要有HTTP基础,且有一定学习曲线,不过只要入门了,后面就很轻松了。半天到一天就能基础入门了。
一、JMeter下载安装
下载地址http://jmeter.apache.org/
因为我们是在window下运行,所以下载.zip文件
下载后解压,在bin目录中,双击 jmeter.bat运行。
为了查看直观一点,我们可以选择语言为简体中文
然后我们点击Test Plan右键创建【线程组】, 然后在线程组基础上继续添加【HTTP请求】和【聚合报告】。
下边我们对添加的【线程组】【HTTP请求】进行测试前的测试。
【线程组】:
线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。
Ramp-Up时间(秒): 设置的虚拟用户数需要多长时间全部启动,默认值为0。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程。
循环次数:每个线程发送请求的次数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。
调度器:说明持续时间是多久,每个线程完成后是否延迟启动。
【HTTP请求】:
这里配置要访问的请求协议和请求网址
设置完成后点击启动,然后保存测试配置,最后我们看看聚合报告的结果:
【聚合报告】
样本:说明在持续10秒,每秒100个请求的并发测试下一共完成了121个样本。
平均值:完成这些样本平均花费的时间。
90%/95%/99中位数:完成90%、95%、99%的请求所花费的时间。
最小值/最大值:最短和最长完成访问请求的时间。
异常%:出现异常的百分比。
吞吐量:默认情况下表示每秒完成的请求数,一般认为它为TPS。(注意单位的变化,如上图中,当TPS很低时,jmeter中默认会统计成每分钟的值,这时我们需要换算成以秒为单位)
接收/发送 KB/Sec:每秒从服务器接收和发送的数据量。
心得:
1.一般我们要重点关注90%中位数的完成时间,因为这个是大部分请求完成的时间,少部分的请求会大于这个时间,也不排除因为网络或服务器的原因导致了剩余的10%请求大于90%中位数的完成时间。
2.因为服务器配置,网络或者程序等原因可能会造成异常率的变化,建议多测试几次,免得突发的网络情况导致的测试不准确。
3.针对异常要查看原因,一般测试时要增加【查看结果树】版面来辅助判断测试异常的原因,例如有时候异常率上升,并不代表网站在压力测试下崩溃了,有可能是你使用的jmeter访问时出错了。