Jmeter性能压测
Posted xm-sunnylin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter性能压测相关的知识,希望对你有一定的参考价值。
一、压力测试场景设置--windows环境
压力测试:一般压测时间10-15min,N个并发用户一直在请求。监控服务的cpu、内存等;
稳定性测试:一般压测一周,2天,1天等,看系统会不会崩掉,会不会内存泄露等。
一般我们在做压力测试的时候,分单场景和混合场景,单场景也就是咱们压测单个接口的时候,多场景也就是有业务流程的情况下,比如说一个购物流程,那么这样的场景就是混合场景,就是有多个接口一起来做操作。
1、单场景,一个请求就可以了
2、混合场景,多个请求
3、压测时间,一般场景都是运行10-15分钟,如果是做疲劳测试的话,可以压一天或者一周,根据具体的情况来定。
压测配置如图:
添加聚合报告,添加步骤如下:
备注:
在做压测的时候,数据量少和数据量大的情况下,测试的结果是不一样的,所以,我们在设计场景的时候是要考虑到这种情况的,要测试数据库中数据量大和数据量小的情况,如果是要测试数据量大的情况下,就要造数据了,造数据可以使用jmeter,操作数据库来造数据,也可以使用python连接数据库,批量的造数据。
二、压力测试结果查看
查看结果关注的几个指标:
1、tps是每秒钟处理的请求数,也就是指服务器的处理能力,tps越高说明服务器处理能力越好
2、响应时间,也就是每个请求的处理时间
3、并发用户数 也就是多少并发
线程组->添加->聚合报告:
samples:发出了多少请求
Average:平均响应时间,单位ms
throughput:代表tps,每秒能处理多少请求
error:若是现金支付,则应该是100%。
三、Linux下运行jmeter压力测试
我们在做测试的时候,有时候要运行很久,公司用的测试服务器一般都是linux,就可以运行在linux下面,linux下面不能像windows一样有图形化界面,那怎么运行脚本呢,就先在windows上把脚本做好,然后在linux下运行即可,linux下运行jmeter是在jmeter的bin目录下的jmeter.sh这个shell脚本。 sh jmeter.sh -n –t a.jmx -l res.jtl -n代表以没有图形化界面启动,-t代表后面是测试脚本,a.jmx也就是我们做好的jmeter脚本,-l代表测试结果 res.jtl就是测试结果文件,查看结果的话,在查看结果树视图中导入这个res.jtl就可以查看到测试结果了
四、jmeter分布式压测
jmeter分布式压测(多台电脑一起压测)
(1)有多台电脑,每台电脑都装好jmeter,而且这几台电脑都互相能ping通;一台master控制多台。
(2)在我的电脑的jmeter的配置文件里面添加其他人电脑的ip。通过jmeter配置文件jmeter.properties,添加:remote_hosts=localhost:1099,{要控制的ip}:1099。
(3)在其他人电脑上要启动jmeter-server.bat
ps:如果有参数化文件,那么也要在其他人的电脑的同样位置放一份。
以上操作之后要重启jmeter。
全部电脑一起运行方法:点击菜单栏的“运行->远程全部启动”。或者点击菜单栏中带有两个绿色箭头的按钮。
五、非图形化界面操作
非图形化界面下运行(例如:linux下运行)
(1)没有图形化界面运行。
(2)先把jmeter的bin目录加入到环境变量里面。运行cmd,输入jmeter -v ,进入没有图形化界面,类似linux。
然后执行:
jmeter -n -t HTTP请求.jmx -l D:/path/res.jtl
-n 代表在没有图形话界面下运行
-t 制定一个测试脚本
-l 指定结果文件,这个文件要以.jtl结尾。不写路径就是在当前路径。若写绝对路径,则指定存放路径。
以上是关于Jmeter性能压测的主要内容,如果未能解决你的问题,请参考以下文章
jmeter性能压测-性能压测常见问题分析之cpu过高/内存使用持续上升