【性能测试】稳定性/并发压力测试的TPS计算+5W并发场景设计...
最佳答案 问答题库958位专家为你答疑解惑
目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
1、稳定性测试TPS计算
①普通计算公式:TPS=总请求数 / 总时间按照需求得到基础数据。
在去年第20周,某平台有5万的浏览量
那么总请求数我们可以估算为5万(1次浏览都至少对应1个请求)
总请求数 = 50000请求数
总时间:由于不知道每个请求的具体时间,我们按照普通方法,我们可以按照一天的时间进行计算总时间=1天=124 小时=24 * 3600 秒套入公式可得:TPS = 50000/243600秒= 0.58tps。
结论:按照普通计算方法,我们在测试环境对相同的系统进行性能测试时,每秒能够发送0.58tsps就可以满足线上的需要。
②二八原则计算方法二八原则是指80%的请求在20%的时间内完成
计算公式:TPS=总请求数 80% / (总时间20%)
按照公式进行计算:TPS=50000 0.8请求数 / 2436000.2秒 = 2.3tps
结论:按照二八原则计算,在测试环境我们的TPS只要能达到2.3请求数每秒就能满足线上需要。二八原则的估算结果会比平均值的计算方法更能满足用户需求。
③按照业务运营数据进行计算如xxx消费券发放时间固定开始时间,那个用户将会在活动开始前的30分钟内陆续开始访问xxx首页。
进入消费券主页,在活动开始前5分钟大量访问,活动倒计时10秒和活动开始后2分钟内会有用户不断点击和刷新页面。
根据以往活动数据,活动期间,平台总请求数据未50000,时间持续180分钟。得到总请求=50000,时间=158x60=9480秒。
再根据二八原则,80%用户在20%时间内访问。
得出:tps=50000x80%/9480x20%=40000/1896=21tps/s计算模拟用户峰值业务操作(压力测试)的并发量,根据这些数据统计图,可以得出结论:可以拿21tps/s作为稳定性测试的参考值。
2、并发压力测试tps计算
三个概念:
用户数:数据库中的总用户数。
在线用户数:登录状态的用户数,挂在系统上,但是不会对系统产生压力。
并发用户数:真正产生操作的用户,产生压力之源。
①秒杀活动压测数据计算假如平台总注册用户数有100w,有10w用户约定好同时对某一接口进行访问。
比如1分钟,陆续来访10w用户,那么我们系统并发用户是比实际的10w要小的。
那一个秒杀活动开始时,10w用户在10秒内重复请求多次,平均3次每个人,那么tps=100000/10=10000tps。
表明我们目标的tps应达到10000才能抗住100000用户的同时请求。
②领券活动压测平台注册用户数100w,用10w用户准备抢券,10w人同时在10秒内访问抢券接口。
在过程中每个用户可能会多次点击抢券,估算每个用户点击3次抢券接口。那么,tps=100000*3/10=30000tps,系统的目标tps需达到30000才抗住10w用户的并发访问压力。END、绵薄之力。
3、需求:如何设计一个5W并发量的性能测试场景?
1)确定性能测试工具,性能测试思路
测试工具:Jmeter
并发设计思路:如果被测服务足够快,比如10ms的响应时间,1个线程/秒就是100tps,5万的TPS,就得启动500个JMETER线程。
测试时可以多加20%~50%的线程,连续阶梯加压看TPS完整过程,根据实际情况选择发压服务器配置。
Jmeter能启动多少线程:
①线程数受什么影响?Jmeter是一个Java进程,一个Java进程下的线程数受什么影响?
由堆内存、栈内存以及可用空间(本机的物理内存的剩余内存)决定的。
②以Jmeter 5.1版本为例,在Jmeter.bat文件设置堆内存注意:一般而言,堆的最大值不要超过物理内存的一半,否则容易导致Jmeter运行变慢、卡顿甚至内存溢出,因为Java本身的垃圾回收机制是动态分配内存。
当需要模拟的线程数较大时,就需要根据具体情况采用分布式压测的方式了。
2)确定项目架构,以及环境
①需要确定项目架构,包括不限于:服务器、数据库、中间件,整个链路
②确定测试环境服务器等资源,与生产对比(成比例)
3)确定业务需求
①单接口
②多接口(事务)
③确定业务量:峰值、日业务量、半年/一年的业务量
4)编写性能测试用例、脚本、执行场景
①性能测试用例(模板)
②性能测试脚本(JMETER)CSV参数化参数提取(正则表达式)断言…
③执行场景
基准测试:1个并发执行5分钟,关注tps、响应时间、运行次数等参数
负载测试:多个并发执行5分钟,关注tps、响应时间、运行次数、服务器的cpu、内存等参数
阶梯测试:通过不断增压,找到拐点。关注tps、响应时间、运行次数、服务器的cpu、内存等参数
疲劳测试:多并发,7*24小时运行,无报错异常。(根据实际情况执行,有的要求持续运行8小时即可)
5)调优、报告
①首先在服务器执行top命令,查看CPU消耗,us、sy哪个消耗的比较多。
②找到消耗cpu的线程,再找到线程调用的方法。
③如果内存消耗比较多,检查日志级别。查看IO状况。
④检查是否存在慢sql。
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
只有通过不断地努力和奋斗,才能真正地实现自己的梦想,去创造自己的未来,去改变自己的命运,去赢得自己的成功,最终成为一名真正的赢家。
只有通过不断地努力和奋斗,才能真正地实现自己的梦想,去创造自己的未来,去改变自己的命运,去赢得自己的成功,最终成为一名真正的赢家。
只有通过不断地努力和奋斗,才能真正地实现自己的梦想,去创造自己的未来,去改变自己的命运,去赢得自己的成功,最终成为一名真正的赢家。
99%的人还看了
相似问题
- 适合小白的超详细yolov8环境配置+实例运行教程,从零开始教你如何使用yolov8训练自己的数据集(Windows+conda+pycharm)
- ChatGpt3.5已经应用了一段时间,分享一些自己的使用心得.
- Github小彩蛋显示自己的README,git 个人首页的 README,readme基本语法
- YOLOv5独家原创改进:最新原创WIoU_NMS改进点,改进有效可以直接当做自己的原创改进点来写,提升网络模型性能精度
- 如何上传自己的npm包
- 实操创建属于自己的亚马逊云科技VPS服务:Amazon Lightsail
- 开设自己的网站系类03安装数据库(centos版)
- 用趋动云GPU部署自己的Stable Diffusion
- 如何高效的提升自己的逻辑思维能力?
- 3 任务3 使用趋动云部署自己的stable-diffusion
猜你感兴趣
版权申明
本文"【性能测试】稳定性/并发压力测试的TPS计算+5W并发场景设计...":http://eshow365.cn/6-41991-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: composer切换全局镜像源的方法
- 下一篇: 【数据结构】链表的八种形态