经常有人问我,性能测试中怎么设置并发数,怎么合理选择并发数?在这里我简单说下,大家可以参考!
并发用户:指的是现实系统中同时操作业务的用户,在性能测试工具中一般称为虚拟用户(Virutal User)。并发用户跟注册用户、在线用户有很大差别,并发用户一定会对服务器产生压力,在线用户数只是 ”挂” 在系统上对服务器不产生压力,注册用户一般指的是数据库中存在的用户。
TPS:Transaction Per Second, 每秒事务数, 是衡量系统性能的一个重要指标,事务靠虚拟用户产生,假如1个虚拟用户在1秒内完成1笔事务,那么TPS就是1,要想达到1000TPS至少需要1000个用户;如果某笔业务响应时间是1毫秒,那么1个用户在1秒内能完成1000笔事务,TPS就是1000。因此1个用户可以产生1000TPS,1000个用户也可以产生1000TPS,主要看响应时间的快慢。
对于并发用户数的选择,可以选取线上系统在高峰时刻一定周期内使用系统的人数,这些人数可以认为是在线用户数,并发用户数取其10%就可以了。例如在1小时内使用系统的用户数为10000,那么取10%作为并发用户数基本就够了。
对于TPS的评估,可以通过线上系统在高峰时刻10分钟内完成的业务量在单位时间的处理笔数计算出TPS ,即业务笔数 /单位时间(10*60 )。
对于新上线系统因没有历史数据可供参考,故只能通过业务发展趋势来预判各项指标。
性能测试需要一套标准化流程及测试策略,在进行压测时一般会按照梯度施压的方式增加用户数,以此观察系统在不同压力下的各种反应,如果在没有充分评估的前提下一次加压大量用户会导致系统失败率高响应时间长,最终得到的测试结果没有太大意义。
一般情况下,大型系统(业务量大、机器多)做性能测试5000个并发用户就够了,中小型系统做性能测试1000个并发用户就足够了。