吐血整理,性能测试-并发量与吞吐量+系统TPS并发(详细)

张开发
2026/4/3 10:03:55 15 分钟阅读
吐血整理,性能测试-并发量与吞吐量+系统TPS并发(详细)
目录导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结尾部小惊喜前言1、并发量与吞吐量以及线程数关系1性能测试满足用户量计算2、8原则e.g业务量10000 时间1min 接口平均响应时间为0.4S 调度时间300s①吞吐量(QPS)(10000*80%) / (1*60*20%)667②并发数线程数不循环QPS*平均响应时间667*0.4266③样本总量线程数*调度时间266*300798002性能测试指标参考指标Average服务器平均响应时间ms,一般平均响应时间超过1000ms,接口性能较差90%Line90%用户响应时间error%错误率一般错误率超过0.05%接口性能需要优化Throughput吞吐量即qps每秒完成客户端的请求数3性能测试服务器查看指令查看CPU、内存使用情况top查看磁盘I/O读写iostat -dkx 1连接数据库 mysql -u root -p--------输入密码查看慢数据开关show variables like ‘slow’;查看慢数据日志路径show variables like ‘datadir’;4性能测试分析QPS小或有错误率的情况接口并发量从小往大增加20路—50路如果服务器先后性能指标改变较小且性能良好而qps提高较小或有错误率此时接口需要优化接口并发量从小往大增加20路—50路如果服务器先后指标改变较大且性能差此时QPS小或有错误率需要部署多台服务器再进行测试如果错误率较高且服务器性能良好可将jemter 分布式部署多台机器并行测试或增加本地请求连接数2、评估一个系统的TPS和并发数》1.对于新系统由业务部门或开发人员预估交易量和TPS指标可以参考公式并发用户在线用户数* 10%。当一个系统还没有上线时我们可以预判的是这个系统准备要给多少人使用如日常在线用户数量要支撑1000那么并发用户参考值为1000* 10%100。如果规定该业务的平均响应时间不高于500毫秒那么通过TPS并发用户数/业务平均时间就可以得到TPS100/0.5s200笔/秒为了系统健壮性考虑我们还可以在预估计算得到的TPS基础上扩个1.5倍得到200笔/秒* 1.5300笔/秒。即可得到该系统的TPS为300笔/秒并发数为150。》2.对于已上线系统TPS有两个公式公式一TPS总请求/总时间实际会考虑二八原则公式二TPS并发数/业务平均时间TPS一般有以下几种衡量系统性能指标的方式1.一般业务系统选取一天业务量根据二八原则估算TPS指标二八原则即80%的业务在20%的时间里完成TPS(业务量 * 80%)/(时间(单位s) * 20%)2.秒杀类系统模型选取高峰时间段业务量估算TPS指标。3.波动类、交易集中类系统模型选取特殊交易时间段业务量预估TPS指标。另外需要注意TPS指标需要考虑业务增长量相关因素如某银行系统某业务订单数据如下日常8小时100万笔交易量高峰期间交易量8万笔高峰持续时间9分钟预估系统3年内每年业务增长率为20%那么1.该业务系统日常期间TPS为TPS(日常交易量 * 80%)/(时间 * 20%)(100万 * 80%)/(8小时* 60 * 60 * 20%)≈139笔/秒2.该业务系统高峰期间TPS为TPS高峰期间交易量/高峰持续时间(单位s)8万/9分钟* 60≈148笔/秒3.该业务系统包含每年业务增长率TPS为首先三年后业务量日常交易量* (120%)* (120%)* (120%)100万* 1.2* 1.2* 1.2172.8万其次被测业务交易占总业务交易比例为40%那么被测试业务交易量为总业务交易量* 40%172.8万* 40%69.12万最后被测业务包含每年业务增长率TPS为(被测试业务交易量* 80%)/(时间(单位s) * 20%)(69.12万* 80%)/8小时* 60 * 60 * 20%)96笔/秒一般情况下为了系统健壮性考虑我们会在预估计算得到的未来的TPS基础上扩个1.5倍即该业务系统包含每年业务增长率TPS为96*1.5倍144笔/秒。4.该系统性能测试最低支持的并发数为如果规定该业务的平均响应时间不高于500毫秒那么通过TPS并发用户数/业务平均时间就可以得到并发用户数0.5秒*144笔/秒72个即系统最低要求支持的并发数为72个说明这里平均响应时间不同的公司不同业务可接受的响应时间是不同的一般对于在线实时交易互联网企业500毫秒以下例如淘宝业务10毫秒左右金融企业1秒以下为佳部分复杂业务3秒以下保险企业3秒以下为佳制造业5秒以下就行。即可得到该系统的TPS为144笔/秒并发数为72个。》3.横向TPS扩展假设单节点我们通过上面的方法计算出来的TPS为150笔/秒平均响应时间不高于500毫秒并发用户数75个现在我们想要系统支撑高并发数通过扩展服务器数量来提升业务处理的能力那么我们也可以计算横向TPS扩展增长率1. 单节点TPS150笔/秒2.2节点TPS265笔/秒则增长率为(2节点TPS-单节点TPS)/(2节点-1)/单节点TPS(265-150)/(2-1)/150≈76.67%3.3节点TPS375笔/秒则增长率为(3节点TPS-单节点TPS)/(3节点-1)/单节点TPS(375-150)/(3-1)/150≈75%4.4节点TPS488笔/秒则增长率为(4节点TPS-单节点TPS)/(4节点-1)/单节点TPS(488-150)/(4-1)/150≈75.11%5.5节点TPS600笔/秒则增长率为(5节点TPS-单节点TPS)/(5节点-1)/单节点TPS(600-150)/(5-1)/150≈75%6.6节点TPS715笔/秒则增长率为(6节点TPS-单节点TPS)/(6节点-1)/单节点TPS(715-150)/(6-1)/150≈75.33%7.7节点TPS825笔/秒则增长率为(7节点TPS-单节点TPS)/(7节点-1)/单节点TPS(825-150)/(7-1)/150≈75%8.8节点TPS940笔/秒则增长率为(8节点TPS-单节点TPS)/(8节点-1)/单节点TPS(940-150)/(8-1)/150≈75.24%9.9节点TPS1050笔/秒则增长率为(9节点TPS-单节点TPS)/(9节点-1)/单节点TPS(1050-150)/(9-1)/150≈75%10.10节点TPS1165笔/秒则增长率为(10节点TPS-单节点TPS)/(10节点-1)/单节点TPS(1165-150)/(10-1)/150≈75.19%完整版企业级性能测试实战速通Jmeter性能测试到分布式集群压测教程下面是我整理的2026年最全的软件测试工程师学习知识架构体系图一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结尾部小惊喜真正的强者不是从不流泪而是含着泪依然奔跑。生活或许给你重击但你的坚韧终将让它低头。别怕慢只要不停别怕难只要敢闯。你就是自己的英雄每一个清晨都是重新开始的机会。昨天的失败已成过往今天的努力正在书写未来。别被过去定义别被恐惧束缚。此刻的你拥有创造奇迹的全部力量

更多文章