今天说说Jmeter如何压测的方法,小结一下。python
1、先使用Jmeter写好压测接口的脚本,如图所示:linux
2、开始进行压测参数配置shell
一、基本设置:数据库
(1)压测时间: 通常压测的时间是10-15分钟
(2)性能指标:windows
TPS :服务端每秒钟处理的请求数 越大越好服务器
响应时间 :越短越好并发
指标:tps要达到多少 ,响应时间要达到多少 ,并发数是多少性能
(2)在线程里设置以下:测试
二、压力测试场景设置spa
通常咱们在作压力测试的时候,分单场景和混合场景,单场景也就是我们压测单个接口的时候,多场景也就是有业务流程的状况下,
好比说一个购物流程,那么这样的场景就是混合场景,就是有多个接口一块儿来作操做。
(1)单场景,一个请求就能够了
(2)混合场景,多个请求
(3)压测时间,通常场景都是运行10-15分钟,若是是作疲劳测试的话,能够压一天或者一周,根据具体的状况来定
三、压力测试数据准备
在作压测的时候,数据量少和数据量大的状况下,测试的结果是不同的。
因此,咱们在设计场景的时候是要考虑到这种状况的,要测试数据库中数据量大和数据量小的状况,若是是要测试数据量大的状况下,就要造数据了,造数据能够使用jmeter,操做数据库来造数据,也能够使用python链接数据库,批量的造数据。
四、查看结果关注的几个指标
(1) tps是每秒钟处理的请求数,也就是指服务器的处理能力,tps越高说明服务器处理能力越好
(2) 响应时间,也就是每一个请求的处理时间
(3) 并发用户数 也就是多少并发
五、压力测试结果查看
那咱们在jmeter中怎么查看这些结果呢,就须要添加一个聚合报告
3、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就能够查看到测试结果了
4、Jmeter添加负载机
咱们在压测的时候,可能并发比较大, 一台机子已经启动不了那么多并发了,这个时候咱们就要使用多台机子一块儿来发压力,
一、先在其余的负载机(另外的电脑)上启动jmeter-server
windows:jmeter-server.bat
mac,linux: jmeter-server.sh
注: 主控机就是脚本跑起来的机器,负载机就是须要别外的机器一块儿工做来发送请求的机器
二、修改主控机jmeter的配置文件,找到remot_hosts,而后把负载机的ip加入到里面就行了
remot_hosts=127.0.0.1,192.168.1.2:1099,192.168.1.3:1099
默认jmeter-server的端口号是1099,若是说负载机上的端口号改了,那么你在这里也得改
三、启动时候要选择远程所有运行
若是有参数化文件,那么在负载机一样的位置上也得有一个参数化文件