性能测试中,第一步应该是进行需求分析。很多时候,我们测试的系统并没有明确的性能指标,这时需要我们通过历史数据进行分析或者行业内的相似系统进行性能参照。
以淘宝app为例。其主要的业务为登录、浏览商品、订单、查看订单、支付。
那么需要得到这些业务的吞吐量(PV、TPS)。从alexa网站得到数据。日均UV(独立访客)=160960000;日均PV:616476000;平均每个ip访问页面是3.8个页面。淘宝的活跃用户数是 ;
得出一张业务量统计表,按照业务的比例是1:7:0.5:1:0.5。
业务名称 | 业务量 | 响应时间 | 事务成功率 |
登录 | 6164.76万PV/日 | <3s | >99.9% |
浏览商品 | 43153.32万PV/日 | <3s | >99.9% |
加入购物车 | 6164.76万PV/日 | <3s | >99.9% |
订单支付 | 3082.38万PV/日 | <3s | >99.9% |
查看我的订单 | 3082.38万PV/日 | <3s | >99.9% |
日pv=61647.6万;TPS(每秒平均事务数);
分析业务发生的峰值,一般在晚上9-10点达到高峰。所以pv数/3600s=tps.除了平均的方法外,还可以利用八二原则。百分之80的业务发生在20%的时间内。PV数*0.8/3600s*0.2=TPS;
并发数的计算。虚拟用户数(Vuser)=tps(业务)*(runtime+thinktime)