前面写过第一个jmeter下的https压力测试(
windows上的):http://blog.chinaunix.net/uid-30199261-id-5855215.html,如果windows上测试,可参考。
本次
需求:
因为网络原因,windows上测试走公司网,公司网速网速太慢影响了压测结果的准确性,1个请求耗时4s多,所以后来决定在阿里云服务器上测试,那么就需要在linux上安装jmeter并进行压测或者在linux上执行接口调用脚本来大概估计时间。
马上开始实现:
一、我先是想运行接口调用脚本大概看下并发下的请求耗时
尽管服务起了3个并发,且3个docker的负载均衡,但是我的脚本是for循环图片目录,图片一张张的调用请求接口看返回,我在执行接口请求前获取了个时间,在for循环请求完所有图片后获取个时间,两个时间差值为总耗时,但是结果耗时还是较长,原来是脚本问题限制了并发,因为脚本中逐个请求实际没有同时并发,想同时并发得同时执行3个我的请求脚本才行。这也是大概估计不一定很准,所以还是决定用jmeter。
二、在linux上安装jmeter并进行压测
1. jdk和jmeter的安装
和windows上安装jmeter差不多,需要安装linux版的jdk和jmeter
jdk
下载地址:https://www.oracle.com/java/technologies/downloads/#java8-linux
jmeter下载地址:http://jmeter.apache.org/download_jmeter.cgi
jdk我的linux上已经安装了,安装的是openjdk, 我查也没配置环境变量。
jmeter我下载了jmeter5.4.1。(
也可这么安装:sudo apt install jmeter。)
解压压缩包
tar -zxvf apache-jmeter-5.4.1.tgz
配置Jmeter环境变量
在/etc/profile文件中添加如下环境变量:
export JMETER=/jmeter/apache-jmeter-5.1.1
export PATH=$JMETER/bin:$PATH
执行命令:source /etc/profile,使配置的环境变量生效
检查安装结果:jmeter -v
2. 在jmeter上执行压测
脚本试运行,尽管我设置了jmeter的环境变量,但是直接执行jmeter还是不认识,所以切换到jmeter的目录(在安装的bin/下),执行下面命令:
./jmeter -n -t /jmeter/apache-jmeter-5.4.1/bin/https.jmx -l test.jtl
-n:以非GUI方式运行脚本
-t:后面接脚本名称
-l:后面接日志名称,保存运行结果
注意:上面的https.jmx脚本就是windows上配置好的调通了的保存后的jmx文件, 从里面可以直接修改并发数(ThreadGroup.num_threads)
每条请求的结果都保存在test.jtl中了,test.jtl可用wps表格打开并进行分列处理,如果请求失败也会有原因可查看,详细内容如下:
3.补充:增加报告的可视化
根据结果生成报告:jmeter -g
result.jtl -o /tmp/ResultReport
执行测试生成报告:./jmeter
-n -t /jmeter/apache-jmeter-5.4.1/bin/https.jmx -l test.jtl -o /tmp/ResultReport
把报告文件夹/tmp/ResultReport整个拷贝出来,html打开可见报告:
阅读(1708) | 评论(0) | 转发(0) |