一、一般我们在做压力测试的时候,分单场景和混合场景,单场景也就是咱们压测单个接口的时候,多场景也就是有业务流程的情况下,比如说一个购物流程,那么这样的场景就是混合场景,就是有多个接口一起来做操作。
1、单场景,一个请求就可以了
2、混合场景,多个请求
3、压测时间,一般场景都是运行10-15分钟,如果是做疲劳测试的话,可以压一天或者一周,根据具体的情况来定
二、 压力测试的准备
在做压测的时候,数据量少和数据量大的情况下,测试的结果是不一样的,所以,我们在设计场景的时候是要考虑到这种情况的,要测试数据库中数据量大和数据量小的情况,如果是要测试数据量大的情况下,就要造数据了,造数据可以使用jmeter,操作数据库来造数据,也可以使用python连接数据库,批量的造数据。
三、压力测试的结果查看
1、tps是每秒钟处理的请求数,也就是指服务器的处理能力,tps越高说明服务器处理能力越好
2、响应时间,也就是每个请求的处理时间
3、并发用户数 也就是多少并发
四、分布式部署压力测试
我们在压测的时候,可能并发比较大, 一台机子已经启动不了那么多并发了,这个时候我们就要使用多台机子一起来发压力,就要添加压力机,添加压力机怎么添加呢,首先要在做压力机的机子上启动jmeter的代理,然后做为控制机的机子上添加上压力机的ip即可。 Jmeter的bin目录下有一个jmeter-server,启动它即可,windows机子作为压力机的话,运行jmeter-sever.bat,linux作为压力机的话,运行jmeter-server。 然后在作为控制机的jmeter配置文件里添加压力机ip即可,jmeter的配置文件在bin目录下jmeter.properties,添加压力机的时候,在配置文件里面找到remote_hosts添加ip,然后重启jmeter就可以看到远程压力机了。
简单的说:
前提:
两台电脑可以互相ping通
1、控制机配置文件里面添加(1099默认的端口号)
remote_hosts=127.0.0.1,192.168.1.103:1099,192.168.1.104:1099
重启jmeter
2、另外一个人的电脑上要有jmeter,并且运行jmeter-server
Windows电脑是 jmeter-server.bat
linux/mac是 jmeter-server
3、如果有参数化文件,那你也要在其他的电脑上放一份
参数化文件放在jmeter的bin目录下就可以不用写绝对路径
只写文件名就ok了
五、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就可以查看到测试结果了
简单说:
1、在你的电脑上做好脚本,保存起来
2、jmeter -n -t c://sdfsdf/sdfsdfs/baidu.jmx -l c://xx/Desktop/result.jtl
3、打开jmeter的聚合报告或者查看结果树
选择浏览 打开上面生成的jtl文件就ok