性能测试前期,如何对一个系统的并发量进行评估?
2017-04-01 17:42
796 查看
一般有几种估算模式,可以根据现有的实际参考数据来进行估算:
一、经典公式1:
一般来说,利用以下经验公式进行估算系统的平均并发用户数和峰值数据
文中公式及示例1主要来自文献:Eric Man Wong,Method for Estimating the Number of Concurrent Users,2004翻译/修改的关键内容。据说EricMan Wong这篇文章是业界比较公认的并发用户数测算理论和公式。
一、业务应用系统平均并发用户数C和交易并发用户数峰值D测算公式:
C:平均的并发用户数
n:是最大在线交易用户数量
L:用户从发出请求到返回结果的时间段(也指的是用户在线时长)
T:考察的时间段长度(也指系统一天内被实际使用的时长)
D:交易并发用户数峰值
二、示例1:电子工资系统平均并发用户数和交易并发用户数峰值测算
例如某市政府将推出的电子工资系统,其中将会有170000名员工查看自己的工资信息。由于不同层次的信息技术能力,个人电脑的有限可用性和其他手段的存在,据估计,当系统全面启动时,只有50%的员工将定期使用该系统。在这些用户中,据估计,70%将在每个月的最后一周使用该系统。而用户/员工使用该系统查看自己工资的平均长度是5分钟。
通过上面的分析,我们发现每个月最后一周应该是该电子工资系统的访问高峰期,因此,我们现在可以预测每个月最后一周的平均并发用户数量:
我们主要测算关注期间(每月的最后一周)任何一天的办公时间(上午9时至下午5点)。
则:
n = 170000 * 0.5 * 0.7/5= 11900(假设在一周内5天)
L = 5分钟
T = 8小时= 480分钟(每一天8小时)
平均并发用户数C和交易并发用户数峰值D:
因此,可以预测,在每个月的最后一周,将有一个平均约124并发用户,业务高峰约157的并发用户访问该电子工资系统。
三、示例2:某地税报税系统平均并发用户数和交易并发用户数峰值测算
某市地方税务局目前有33.4万纳税人,则n的值为334000;每次的交易响应时间按照性能要求中满载的时间再增加一定的余量,即L的时间需要1分钟(60秒),T的值定义为每天实际交易的周期,根据地税行业的特点,每天的交易时间设定为6小时,另外,我们还需要考虑地税的业务,如每月1-10号报税,每月完成等。
根据公式1和公式2,可以得到平均并发用户数量C和交易并发用户数峰值D:
根据预测可以得到该地税报税交易系统平均并发用户数约为928,交易并发峰值约为1019。
有了这两个数据作为基础,便可以去测算更多细节内容了,如WEB访问量、数据库并发访问量等。
另外说一说吞吐量计算公式,F = Vu * R / T 单位为个/s
F为事务吞吐量,Vu为虚拟用户数个数,R为每个虚拟用户发出的请求数,T为处理这些请求所花费的时间
二、经典公式2:
对绝大多数场景,我们用(用户总量/统计时间)*影响因子(一般为3)来进行估算并发量。
比如,以乘坐地铁为例子,每天乘坐人数为5万人次,每天早高峰是7到9点,晚高峰是6到7点,根据8/2原则,80%的乘客会在高峰期间乘坐地铁,则每秒到达地铁检票口的人数为50000*80%/(3*60*60)=3.7,约4人/S,考虑到安检,入口关闭等因素,实际堆积在检票口的人数肯定比这个要大,假定每个人需要3秒才能进站,那实际并发应为4人/s*3s=12,当然影响因子可以根据实际情况增大!
三、根据PV计算公式:
比如一个网站,每天的PV大概1000w,根据2/8原则,我们可以认为这1000w pv的80%是在一天的9个小时内完成的(人的精力有限),那么TPS为:
1000w*80%/(9*3600)=246.92个/s,取经验因子3,则并发量应为:
246.92*3=740
四、根据TPS估计:
公式为 C = (Think time + 1)*TPS
五、根据系统用户数计算:
并发用户数 = 系统最大在线用户数的8%到12%
一、经典公式1:
一般来说,利用以下经验公式进行估算系统的平均并发用户数和峰值数据
文中公式及示例1主要来自文献:Eric Man Wong,Method for Estimating the Number of Concurrent Users,2004翻译/修改的关键内容。据说EricMan Wong这篇文章是业界比较公认的并发用户数测算理论和公式。
一、业务应用系统平均并发用户数C和交易并发用户数峰值D测算公式:
C:平均的并发用户数
n:是最大在线交易用户数量
L:用户从发出请求到返回结果的时间段(也指的是用户在线时长)
T:考察的时间段长度(也指系统一天内被实际使用的时长)
D:交易并发用户数峰值
二、示例1:电子工资系统平均并发用户数和交易并发用户数峰值测算
例如某市政府将推出的电子工资系统,其中将会有170000名员工查看自己的工资信息。由于不同层次的信息技术能力,个人电脑的有限可用性和其他手段的存在,据估计,当系统全面启动时,只有50%的员工将定期使用该系统。在这些用户中,据估计,70%将在每个月的最后一周使用该系统。而用户/员工使用该系统查看自己工资的平均长度是5分钟。
通过上面的分析,我们发现每个月最后一周应该是该电子工资系统的访问高峰期,因此,我们现在可以预测每个月最后一周的平均并发用户数量:
我们主要测算关注期间(每月的最后一周)任何一天的办公时间(上午9时至下午5点)。
则:
n = 170000 * 0.5 * 0.7/5= 11900(假设在一周内5天)
L = 5分钟
T = 8小时= 480分钟(每一天8小时)
平均并发用户数C和交易并发用户数峰值D:
因此,可以预测,在每个月的最后一周,将有一个平均约124并发用户,业务高峰约157的并发用户访问该电子工资系统。
三、示例2:某地税报税系统平均并发用户数和交易并发用户数峰值测算
某市地方税务局目前有33.4万纳税人,则n的值为334000;每次的交易响应时间按照性能要求中满载的时间再增加一定的余量,即L的时间需要1分钟(60秒),T的值定义为每天实际交易的周期,根据地税行业的特点,每天的交易时间设定为6小时,另外,我们还需要考虑地税的业务,如每月1-10号报税,每月完成等。
根据公式1和公式2,可以得到平均并发用户数量C和交易并发用户数峰值D:
根据预测可以得到该地税报税交易系统平均并发用户数约为928,交易并发峰值约为1019。
有了这两个数据作为基础,便可以去测算更多细节内容了,如WEB访问量、数据库并发访问量等。
另外说一说吞吐量计算公式,F = Vu * R / T 单位为个/s
F为事务吞吐量,Vu为虚拟用户数个数,R为每个虚拟用户发出的请求数,T为处理这些请求所花费的时间
二、经典公式2:
对绝大多数场景,我们用(用户总量/统计时间)*影响因子(一般为3)来进行估算并发量。
比如,以乘坐地铁为例子,每天乘坐人数为5万人次,每天早高峰是7到9点,晚高峰是6到7点,根据8/2原则,80%的乘客会在高峰期间乘坐地铁,则每秒到达地铁检票口的人数为50000*80%/(3*60*60)=3.7,约4人/S,考虑到安检,入口关闭等因素,实际堆积在检票口的人数肯定比这个要大,假定每个人需要3秒才能进站,那实际并发应为4人/s*3s=12,当然影响因子可以根据实际情况增大!
三、根据PV计算公式:
比如一个网站,每天的PV大概1000w,根据2/8原则,我们可以认为这1000w pv的80%是在一天的9个小时内完成的(人的精力有限),那么TPS为:
1000w*80%/(9*3600)=246.92个/s,取经验因子3,则并发量应为:
246.92*3=740
四、根据TPS估计:
公式为 C = (Think time + 1)*TPS
五、根据系统用户数计算:
并发用户数 = 系统最大在线用户数的8%到12%
相关文章推荐
- 一个优秀的Java程序员必须了解GC的工作原理、如何优化GC的性能、如何与GC进行有限的交互,有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提升内存的管理效率,才能提高整个应用程序
- 制定性能测试策略时,如何设计相应的系统用户数、同时在线并发用户数以及每个具体功能的并发用户数
- 如何测试一个网站的性能(并发数)?
- 如何测试一个网站的性能(并发数)?
- 如何判断是否需要对一个软件进行性能测试
- C#测试代码、函数、方法执行时间,方便进行系统性能评估
- 如何测试一个网站的性能(并发数)?
- 如何测试一个网站的性能(并发数)?
- 如何对系统进行性能测试
- 通过Nginx访问FastDFS文件系统并进行图片文件裁剪的性能测试和分析
- 转 如何使用Windows Media Load Simulator进行Windows Media服务器性能测试和监控
- 阿里P8架构师谈:如何搭建亿级并发系统的性能指标体系
- 机器学习6--如何衡量一个学习算法的性能和如何设计一个系统
- 系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式
- 系统吞吐量(TPS)、用户并发量、性能测试概念和公式
- 利用Spring Insight + JMeter 对Web应用进行压力测试和性能评估
- 使用多线程模拟多用户并发访问一个或多个tomcat,测试性能 java
- 如何构建一个ERP系统(需求分析、系统架构、系统设计、系统编码、测试、交付程序及文文件)。
- 从飞信案例看即时通讯海量并发用户系统压力性能测试
- Android是一个针对触摸屏专门设计的操作系统,当点击编辑框,系统自动为用户弹出软键盘,以便用户进行输入。 那么,弹出软键盘后必然会造成原有布局高度的减少,那么系统应该如何来处理布局的减少