JMter压力测试
一、 压力测试场景设置
一般我们在做压力测试的时候,分单场景和混合场景,单场景也就是咱们压测单个接口的时候,多场景也就是有业务流程的情况下,比如说一个购物流程,那么这样的场景就是混合场景,就是有多个接口一起来做操作。
1、单场景,一个请求就可以了
2、混合场景,多个请求
3、压测时间,一般场景都是运行10-15分钟,如果是做疲劳测试的话,可以压一天或者一周,根据具体的情况来定
二、 压力测试数据准备
在做压测的时候,数据量少和数据量大的情况下,测试的结果是不一样的,所以,我们在设计场景的时候是要考虑到这种情况的,要测试数据库中数据量大和数据量小的情况,如果是要测试数据量大的情况下,就要造数据了,造数据可以使用jmeter,操作数据库来造数据,也可以使用python连接数据库,批量的造数据。
三、 压力测试结果查看
查看结果关注的几个指标
1、tps是每秒钟处理的请求数,也就是指服务器的处理能力,tps越高说明服务器处理能力越好
2、响应时间,也就是每个请求的处理时间
3、并发用户数 也就是多少并发
那我们在jmeter中怎么查看这些结果呢,就需要添加一个聚合报告
聚合参数详情:
四、 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
1) -n代表以没有图形化界面启动,
2) -t代表后面是测试脚本,
3) a.jmx也就是我们做好的jmeter脚本,
4) -l代表测试结果
5) res.jtl就是测试结果文件,查看结果的话,在查看结果树视图中导入这个
6) res.jtl就可以查看到测试结果了
五、 Jmeter添加负载机
我们在压测的时候,可能并发比较大, 一台机子已经启动不了那么多并发了,这个时候我们就要使用多台机子一起来发压力,就要添加压力机,添加压力机怎么添加呢.
首先要在做压力机的机子上启动jmeter的代理,然后做为控制机的机子上添加上压力机的ip即可,具体操作如下:
- Jmeter的bin目录下有一个jmeter-server,启动它即可:若windows作为压力机,运行jmeter-sever.bat;linux作为压力机,运行jmeter-server。
- 然后在作为控制机的jmeter配置文件里添加压力机ip即可,jmeter的配置文件在bin目录下jmeter.properties,添加压力机的时候,在配置文件里面找到remote_hosts添加ip,然后重启jmeter就可以看到远程压力机了
四、开始添加线程组和请求来运行查看结果:
1、打开jmeter.bat文件,添加线程组,编辑线程数,这里设置100个线程数,循环2次,就是一台机器发送100*2=200个请求。
2、添加HTTP请求,这里以访问淘宝为例。
3、添加察看结果数和聚合报告,点击运行,可以选择远程启动或者远程全部启动,如果是点击远程启动,可以选择任意一台电脑来运行,如果是点击远程全部启动就会运行控制机和所有的代理机。
4、这里以点击远程全部启动为例。运行结束后,查看聚合报告,每台电脑设置的线程数为200,这里一共是两台电脑,所以是200*2=400个线程数。