全网最火爆,性能测试基本原则方法总结,再不卷就被淘汰了...


前言

性能测试关键点

评估性能指标——线程tps(可架构给),吞吐量qps(可架构给),错误率(可架构给),平均响应时间(可架构给)

模拟线上数据量

了解接口有没有缓存,有缓存的需要设计每次调接口获取的是不一样的数据

如何评估需要测试的接口线程数?

针对老项目:
系统里查看过去一周(或者一个月)内,接口调用量最高的那一天,然后再找到当天中接口调用量最高的时间点(分钟级别),比如说是在12:10调用量为10000,那么我们再换算为每秒调用量10000/60=166,因此可以确定这个接口tps只要达到166即可满足。

针对新项目:
二八定律的算法为 80%的请求 / 20%的时间 * 冗余系数(冗余系数一般为2-5之间,一般可取3)如金融股票交易app,一般是早上9点到下午3点,76060=25200秒,注册用户1000万,日活差不多100w,80%=80w,80w/25200*3=95.接口吞吐量是95即可满足。

压测实际操作

当确定吞吐量指标,根据指标去压对应的接口:
1、压测设置参数:添加线程组,线程数=用户数/10;ramp-up period多少秒内启动所有线程,默认一般是1秒,0就是立即全部启动;循环次数一般写永远,压测个10-30分钟,看报告。
2、聚合报告:Samples发出的请求数、Average单个Request的平均响应时间(ms)、error错误率、Throughput简称tps,吞吐量,每秒处理的请求数。
3、写接口,如果多个接口添加正则表达式,上下接口串联。
4、关联数据库。

cmd运行: jmeter logFile -o reportPath得到报告。

性能测试指标对应压测方法

吞吐量的预估值=考虑用什么方法去进行压测:

500以下 JM;
注:接口吞吐指标在500以下,JM就能满足。

500-5000 JM分布式或者LR;
5000以上 中控+多机部署;
JM分布式:JM上配置参数接口,jenkins配置多台服务器,一台控制机,多台负载机,控制机的密钥加到负载机中;

JM+Grafana+Influxdb监控性能参数,内存,cpu占用情况,接口吞吐量(Grafana是普罗米修斯的简化版)。

Linux系统
内存;
换页swap空间;

free -m | sed -n '2p' | awk '{print "used mem is "$3"M,total mem is "$2"M,used percent is "$3/$2*100"%"}'            

接口的性能瓶颈怎么查看?

随着tps越来越高,如何评估接口性能qps指标:
软硬件的资源利用情况会越来越高,直到满负载(内存,cpu占用情况);
吞吐量会不断变高,直到达到峰值,下降或企稳;
响应时间会慢慢变高,超过吞吐量峰值,响应时间曲线会急剧拉升(因硬件资源满负载,软件接口无法处理超高并发,接口处理速度最后会急剧变慢);

所以:性能指标是吞吐量最高的那个值,响应时间缓慢拉升到急剧拉升的拐点,硬件资源最大,这三者的坐标区域中间,就是性能峰值。

怎么做性能优化?

1、最简单的加线程,进程。
2、数据库层面,加索引,加缓存,一些机算上的结果缓存,表数据太多,分表,sql优化。
3、在有IO(网络IO,磁盘IO)的时候,批量读,写,合并网络请求,减少与单点的交互。
4、代码更高效的实现,改运算逻辑,如本来以账户维度计算金额,改成以产品维度去计算。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

每一份努力都会有回报,坚定自己的目标,不断前行,才能让生命更加辉煌。不要被困境压垮,勇敢地迎接挑战,成功就在前方等待着你。记住,只有放弃才是最终的失败!

只有勇往直前,才能看到成功的曙光;只有不断努力,才能实现自己的梦想;只有坚持不懈,才能创造一个更美好的未来。让我们一起努力,向着更高的目标不断迈进!

你的人生只有一次,不要让懒惰和恐惧阻碍你前进的步伐。做自己想做的事情,为自己的梦想而奋斗,要相信自己的能力,不断挑战自己,才能成就非凡的人生。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值