转:压力测试估算
测试的估算
假设要求系统每年完成140万笔交易,即业务处理总量为140万,按每年15%的业务量递增,最低要求满足4年内的业务量要求,性能的要求的底限为第4年的各项值。
参考的行业标准
1、 并发强度测试:使用80%/20% 法则确定,即并发用户峰值数按日高峰访问量的80%计算,并发用户最小值按日均访问量的20%计算。
并发用户数*80%>并发用户数>并发用户数*20%
2、 日高峰业务处理能力。是用8/2 法则推算,即假设80%的工作在20%的工作时间内完成。在工作时间内,80%的业务是在整个工作日的20%时间内完成,此时的业务量按照每天可能发生的最大交易量的80%计算,工作时间按照正常工作时间8小时的20%计算。
定义:每天可能发生的最大交易量(M)
正常的工作时间(T=8小时)
每小时的交易量(P)
P=(M×80%)/(8×20%)
3、 高峰日的处理能力。假设每年80%的业务集中在20%的时间内完成。
4、 容灾处理。行业标准:业务处理总量/2。即并发访问设置为70万次/容灾日
5、 系统处理能力。是指一段时间内的数据积压需要在规定的时间内完成数据处理的能力,数值越大,对系统软件处理能力的要求越高。
TPM-C=M·(M0/T/M1)
M:日交易量,包括对数据库更新、查询、增加、删除等操作
M0:应用交易所对应的标准交易个数,推荐值为8~20,HP公司推荐为10
T:交易的峰值时间,根据8/2原则估算,每日工作时间为8小时,那么交易高峰时间T=8×20%=1.6小时。
M1:为机器实际为系统提供的处理能力,M1一般可取80%
6、 业务增长率:参考行业标准,年处理能力增长率为15%,逐年递增。
7、 网络流量分析,参考行业标准,按照最大损失和最小损失比对估算
a) 最大损失:按照每笔业务处理需要10Kbps,考虑到并发情况及网络利用效率等问题(效率损失约为60%)
b) 最小损失:不考虑网络带宽在传输过程中的效率损失,估算出对玩过带宽的需求。
8、 业务处理时间,根据国际标准3-5-8原则推算,即3秒内相应时间为最优,5~8秒为可以接受,大于8秒为不可接受。
估算各种测试性能指标
1、 用户访问量估算
并发用户峰值:日高峰访问量的80%
并发用户最小值:日均访问量的80%
a) 日均访问量计算:
140 0000笔交易/365日=3835笔交易/日
每日按工作8小时计算,8小时*60=480分钟
3835笔/480分钟=7.98笔交易/分钟
并发用户平均值:7.98*80%=6.4(个),取整约为10个并发用户
b) 高峰访问量
高峰日访问量:每年80%的业务集中在20%的时间内完成,则高峰日访问量为:
1400000笔交易*80%/(365*20%)=15342笔交易/日
日高峰访问量:每天80%的业务集中在20%的时间内完成,则日高峰访问量为:
15342笔交易*80%/(8小时*20%*60分钟)=127笔交易/分钟
并发用户峰值:127*80%=102(个)约为100个并发用户。
2、 系统可扩展性和延续性估算
年处理业务按每年递增15%计算。日均访问量、平均交易数,高峰日访问量、日高峰访问量、并发用户峰值数均可按年递增15%计算。
3、 容灾用户访问量估算
根据行业标准,并发访问设置为70万次/容灾日(年处理业务数/2 每容灾日)。容灾用户计算式,时间按24小时计算。
容灾平均访问量(每分钟):
70 0000/(24小时*60)=486笔交易/分钟
容灾并发用户峰值数
486*80%=388笔交易/分钟
容灾并发用户平均数:
388*50%=194笔交易/分钟
容灾用户访问量估算指标
系统应该支持如下并发测试,以保证系统在出现灾难时系统稳定:200-400个用户并发
需要设计测试策略,测试系统在200~400用户并发的情况下8小时运行是否有崩溃、宕机的情况,同时要求系统必须提供故障转移及恢复功能。
4、 系统处理能力计算
TPM-C的意义应该是正常能处理的业务数。
TPM-C=M·(M0/T/M1)
业务量M:日高峰期80%的业务量
M0:采用HP公司的交易复杂度系数,M0取值10
T:按每天8小时计算8*20%=1.6小时=96分钟,T=96
M1:取80%
系统处理能力估算:
TPM-C=M×(M0/T/M1)=M×0.13
比如:日高峰值为15342,则TPM-C=15342×0.13=1994笔交易/分钟
5、 业务处理能力估算
6、 网络流量分析估算
假设每笔业务大约需要占用10kbps资源
不考虑网络带宽在传输过程中的效率损失:136笔交易/分钟*10k=1360k/分钟
即22.6K/秒 (136为高峰单位时间交易量)
考虑网络带宽在传输过程中的效率损失(约60%):22.6 /60%=37.6kb/s
7、 业务处理和系统响应时间
标准3-5-8
在不考虑内部系统的处理时间的情况下,信息的处理时间最长不应该超过8秒
系统登录时间最长为8秒
从报文或文件进入系统到接受回执时间不超过8秒
报文或文件传输不成功时,在5~8秒内通知发送者
由于某种原因,报文或文件滞留在系统中时,应该在8秒内向发送者发出信息提示
每秒请求数=(高峰日访问量*80%)/(3600*8*20%)
为满足系统的性能需求,业务处理(每秒请求数)应大于4次/秒,系统处理事务响应时间应该小于8秒为宜。
测试方法
1、 负载测试:通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统能承受的最大负载量的测试(最大能承受多少并发用户的稳定运行,着重于稳定)
2、 压力测试:通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,并以此来获取系统能提供的最大服务级别的测试(当达到什么条件是系统崩溃,用来测试系统能够承受的极限)。
3、 疲劳强度测试:通常是采用系统稳定运行情况下,能够支持的最大并发用户数,或日常运行用户数,持续执行一段时间业务,保证达到疲劳强度需求的业务量,通常综合分析交易执行指标和资源监控指标,来确定系统处理最大工作量强度性能的过程。