性能测试流程之需求评估篇

2017-01-19  秦天 

性能测试整体流程分为以下几部分:

本次分享一下第一部分:需求评估       

  i.      目的:评估是否需要做性能测试。

1.   需要做性能测试

a)   新产品要上线,预估单台机器QPS峰值超过100。

b)   已经上线过的产品,由于接入了新的业务或者用户量增加,预估单台机器QPS峰值超过100。

2.   不需要做性能测试

a)   单台机器QPS峰值低于50的需求。

b)   有相同产品实现逻辑的产品,且已经做过性能测试。

例如:假如一个请求,每次用户开启应用时都会发送到服务器,服务器则会返回给客户端本账号在好友中的积分排名情况。从产品的角度认为,每次应用启动,都会触发服务器查询一次数据库。这样会数据库会造成很大压力。而测试再了解了具体实现后发现:针对每个用户机器码的排序数据是从redis服务器返回的,而redis服务器会每隔一小时请求存储的mysql服务器来更新账号排名信息,这样看来mysql服务器请求频率很低,没有任何压力。由于redis服务器的性能之前已经测试过类似的,没有性能问题,所以这次并不需要对mysql服务器做压力测试。

3.   QPS评估方法:

a)   产品已经灰度或者上过线,可直接参考灰度数据来推算全量用户的QPS峰值。

b)   产品未上过线,可通过类似已上线的产品来评估线上QPS

c)   以上两种都不符合,可通过通用算法来推算QPS。

计算模型: 

                          i.      每台服务器每秒处理请求的数量=((80%*总PV量)/(24小时*60分*60秒*40%)) / 服务器数量 。

                        ii.      其中关键的参数是80%、40%。表示一天中有80%的请求发生在一天的40%的时间内。24小时的40%是9.6小时,有80%的请求发生一天的9.6个小时当中(很适合互联网的应用,白天请求多,晚上请求少)。

简单计算的结果:

                       iii.      ((80%*500万)/(24小时*60分*60秒*40%))/1 = 115.7个请求/秒


{测试窝原创文章,作者:曹承臻}

作者简介:曹承臻,06届大学本科毕业,数学专业,6年软件测试行业经验。

402°/4028 人阅读/0 条评论 发表评论

登录 后发表评论