jmeter压测实战

43 篇文章 0 订阅

参考:https://www.phpmianshi.com/?id=230

下载安装

 

下载JDK  : https://download.oracle.com/otn-pub/java/jdk/15.0.2+7/0d1cfde4252546c6931946de8db48ee2/jdk-15.0.2_windows-x64_bin.exe?AuthParam=1611197417_61c2592982272667dcf142a95ef6d58a

或者 Sun公司的官网[https://www.oracle.com/] 下载

 

安装JDK,,一路next即可

 

设置环境变量

JAVA_HOME  

C:\Program Files\Java\jdk-15.0.2

 

CLASSPATH

.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

PATH新增2个

%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin

 

打开cmd,执行 java测试是否安装成功

 

 

 

下载jmeter : https://mirror.bit.edu.cn/apache//jmeter/binaries/apache-jmeter-5.4.zip

 

安装,一路next即可

 

实战演练

打开jmeter.bat , 我们来写一个简单的单一http接口压测脚本,并将传参参数化

 

1、打开jmeter并创建一个线程组   Add => Threads(Users) => Thread Group

 

图片.png

 

2、给线程组添加http请求  Add => Sampler => HTTP Request

图片.png

3、红色图片处两个参数我们进行了参数化,那么我们需要创建CSV数据文件设置来实现参数化 Add => Config Element => CSV Data Set Config

图片.png

Variable Names (comma-delimited)  :  http请求页面大括号中的内容

Recycle on EOF :  表示 txt文件中的数据取完了,会继续循环再取

 

jmeter.txt中内容如下:

0;1611200140
1;1611200141
2;1611200142

4、现在我们可以执行http请求了,但是执行后,需要查看传参和返回的情况,所以我们需要添加结果树 Add => Listener => View Results Tree

设置线程组中线程和循环次数都为1,执行一次查看结果

 

图片.png

 

5、如果只执行几次请求的话我们可以自己来看是否请求成功,但如果压测时有几万甚至几十万个请求,我们是没办法人工检查结果的,此时我们就用到了断言,我们给这个线程组加相应断言

Add => Assertions => Response Assertion

图片.png

我们看到当请求成功时,返回的数据会有 "status":"success"  这样的一个消息,所以我们把这部分加到响应断言里面

 

这样,当我们执行压测时,返回数据中没有  "status":"success"  这部分的请求,结果树中就会是红色的×

 

6、现在可以发请求也可以检查结果了,我们还缺少什么呢?缺少统计,压测过程中的相应时间,吞吐,错误率,这些都是没办法用肉眼看到的,所以我们添加聚合报告来进行统计

Add => Listener => Aggregate Report

 

我们执行一次10并发两次循环的压测,看聚合报告的结果

图片.png

 

我们看到99%的请求都在116ms内返回,请求平均耗时54ms,吞吐量31.9/s
吞吐量是什么意思呢,就是每秒完成的事务数,是从发出请求到接收到服务器返回的完整事务,我们这次的结果就是每秒完成31.9个事务。

 

总结

实际压测过程中还需要监控下cpu、数据库、带宽的使用情况,一般会有监控平台,在监控平台看就可以了。

 

压测注意事项:
1. 先阅读:https://wiki.swoole.com/wiki/page/62.html
2. 注意各个中间件,默认的Session中间件基于文件,io性能非常差。
3. 压空接口,目的在于对比框架的消耗,对比fpm,快慢都是相对的。
4. 如果代码中有类似sleep的同步阻塞操作,那qps自然不会高。
5. 压测时最好在内网测试,避免网络带宽因素影响结果。

 

全套软件 (JDK jmeter和测试用例下载)

链接:https://pan.baidu.com/s/1PkQPZl9SDCu4E84DhdQfZA   
提取码:ye19

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值