前言并发用户数是指现实系统中操作业务的用户在性能测试工具中一般称为虚拟用户数(Virutal User)。并发用户数和注册用户数、在线用户数的概念不同。并发用户数一定会对服务器产生压力的而在线用户数只是 ”挂” 在系统上对服务器不产生压力注册用户数一般指的是数据库中存在的用户数TPSTransaction Per Second, 每秒事务数是衡量系统性能的一个非常重要的指标。TPS就是每秒事务数但是事务是基于虚拟用户数的假如1个虚拟用户在1秒内完成1笔事务那么TPS明显就是1如果某笔业务响应时间是1ms那么1个用户在1秒内能完成1000笔事务TPS就是1000了如果某笔业务响应时间是1s那么1个用户在1秒内只能完 成1笔事务要想达到1000TPS至少需要1000个用户因此可以说1个用户可以产生1000TPS1000个用户也可以产生1000TPS无非是看响应时间快慢。也就是说在评定服务器的性能时应该结合TPS和并发用户数以TPS为主并发用户数为辅来衡量系统的性能。如果必须要用并发用户数来衡量的话需要一个前提那就是交易在多长时间内完成因为在系统负载不高的情况下将思考时间思考时间的值等于交易响应时间加到脚本中并发用户数基本可 以增加一倍因此用并发用户数来衡量系统的性能没太大的意义。在性能测试时并不需要用上万的用户并发去进行测试如果只需要保证系统处理业务时间足够快几百个用户甚至几十个用户就可 以达到目的。据了解很多专家做过的性能测试项目基本都没有超过5000用户并发。因此对于大型系统、业务量非常高、硬件配置足够多的情况下5000 用户并发就足够了对于中小型系统1000用户并发就足够了。系统吞吐量几个重要参数TPS、并发数、响应时间TPS每秒钟事务数量并发数系统同时处理的事务数响应时间一般取平均响应时间TPS并发用户数 / (响应时间Thinktime)并发用户如何计算1、经典公式一般来说利用以下经验公式进行估算系统的平均并发用户数和峰值数据平均并发用户数为 C nL/T并发用户数峰值 C‘ C 3*根号CC是平均并发用户数n是login session的数量L是login session的平均长度T是值考察的时间长度C’是并发用户数峰值举例1假设系统A该系统有3000个用户平均每天大概有400个用户要访问该系统可以从系统日志从获得对于一个典型用户来说一天之内用户从登陆到退出的平均时间为4小时而在一天之内用户只有在8小时之内会使用该系统。计算平均并发用户数为C 4004/8 200并发用户数峰值为C‘ 200 3根号200 243举例2某公司为其170000名员工设计了一个薪酬系统员工可进入该系统查询自己的薪酬信息但并不是每个人都会用这个系统假设只有50%的人会定期用改系统这些人里面有70%是在每个月的最后一周使用一次该系统且平均使用系统时间为5分钟。则一个月最后一周的平均并发用户数为朝九晚五n 1700000.50.7/5 11900C 11900*5/60/8 124吞吐量计算为F Vu * R / T 单位为个/sF为事务吞吐量Vu为虚拟用户数个数R为每个虚拟用户发出的请求数T为处理这些请求所花费的时间2、通用公式对绝大多数场景我们用用户总量/统计时间*影响因子一般为3来进行估算并发量。例如以乘坐地铁为例子每天乘坐人数为5万人次每天早高峰是7到9点晚高峰是6到7点根据8/2原则80%的乘客会在高峰期间乘坐地铁则每秒到达地铁检票口的人数为5000080%/360603.7约4人/S考虑到安检入口关闭等因素实际堆积在检票口的人数肯定比这个要大假定每个人需要3秒才能进站那实际并发应为4人/s3s12当然影响因子可以根据实际情况增大3、根据PV计算公式比如一个网站每天的PV大概1000w根据2/8原则我们可以认为这1000w pv的80%是在一天的9个小时内完成的人的精力有限那么TPS为1000w80%/(93600)246.92个/s,取经验因子3则并发量应为246.92*37404、根据TPS估计公式为 C (Think time 1)*TPS5、根据系统用户数计算并发用户数 系统最大在线用户数的8%到12%总结感谢每一个认真阅读我文章的人作为一位过来人也是希望大家少走一些弯路如果你不想再体验一次学习时找不到资料没人解答问题坚持几天便放弃的感受的话在这里我给大家分享一些自动化测试的学习资源希望能给你前进的路上带来帮助。软件测试面试文档我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。视频文档获取方式这份文档和视频资料对于想从事【软件测试 】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你以上均可以分享点下方小卡片即可自行领取。