通常我们使用【阶梯式】压测,支持远程启动分布式压测。阶梯式也就是模拟一段时间内不断增长,直到指定的数量暂停增长,在一段时间进行大量请求测试。
如果需要并发测试,那么将需要合理设计场景,比如秒杀,可以使用同步器,一键启动所有远程调用多个机器把1000个线程用户启动完成,然后一起发送请求。
性能测试是很需要对整个链路数据的流向经过哪些(调用了谁、经过哪些中间件)
个人认为性能测试的价值:体现在应用服务机器成本中
Jmeter安装使用基础可以参考:https://www.cnblogs.com/gsxl/p/14993497.html
1、压测多大的量?
2、压测是做单个接口还是多个?
3、性能测试28原则
指80%的业务量在20%的时间(s)里完成。
则:业务量=10w个,时间=3x60x60=10800s
TPS=(90%*10w*80%) / (20%*10800)=0.9*10w*0.8/(0.2*10800)=72000/2160=33.33个/s (TPS:系统每秒处理事务的个数)
4、过程监控,分析与调优
5、性能测试执行具体步骤
线程数:并发数量
Ramp-Up时间:多少秒起完上面设置的线程数,一般为线程数的1-2倍。
循环次数:要循环多少次?一般压测是勾选循环
持续时间:在压测时,是通过一定的范围时间内压测。
1、聚合报告-配置,去掉勾选 XML (用来生成报告)
2、数据收集写入文件,用来生成报告的。
3、报告生成
需要把jmeter配置先改一下,文件:D:\apache-jmeter-5.3\bin\jmeter.properties
490行的,jmeter.save.saveservice.output_format=csv
需要注意路径,如我的:
data.csv 为刚才汇总报告写入的文件路径
reprot.html 为生成的报告路径
打开报告的 html 文件。
4、编写报告及发送
报告可以使用word、excel等下编写,主要体现,压测需求,测试机器环境,报告的过程中的图表走势图(吞吐量/响应时间等等),是否满足压测需求,
报告模板可以参考百度一大堆
注:
本篇文章只是入门级,适合能够编写脚本,分析压测量,执行脚本,但不会太多分析调优的测试人员。
最后额外分享:
性能测试 ①登录需要怎样绕过验证码? ②登录密码需要加密或者请求信息都要加密怎么办?
答:最简单的就是,手动去登录把token粘贴到脚本上。
其次请求信息都要加密怎么办?如果后端使用的是Java那么可以直接让开发给加密的方法规则,如果不是那可能你要自己折磨写一个加密的Jar包。
欢迎来大家QQ交流群一起学习:482713805
原文:https://www.cnblogs.com/gsxl/p/14993700.html