版本: V0.1
修改说明
| 版本 | 说明 | 修改人 | 日期 | 评审 |
| V0.1 | 初稿 | 宋琦 | 2012-4-11 | |
| V1.0 | 正式版。修正部分单位换算错误。 | 宋琦 | 2012-4-12 | |
本文档包含四个部分。分别为用户性能体验,性能测试点,服务器响应时间测试策略,以及服务器端最小带宽估算。
●用户的性能体验部分描述影响用户响应时间的相关内容,以及对用户响应时间优化的提议。
●性能测试点部分描述性能测试进行的主要工作内容。
●服务器响应时间测试策略部分描述服务器端性能测试及调优策略。
●服务器端最小带宽估算描述服务器端最小带宽的估算依据及方法。
1.
用户的性能体验
1.1网络拓扑图
下图为与性能测试相关的网络拓扑图。
服务器端响应时间计算公式如下:
服务器响应时间 = T1 + T2 + T3 + T4
(注: 次处只体现单向传输时间计算)
其中时间点简介如下:
T1:服务器端响应时间
T1 = 数据库处理时间 + 应用程序处理时间 + 服务器处理时间
T2:服务器端与运营商之间的通信时间
T2 = 用户群发送数据总量 / 服务器带宽对应的传输速率
T3:单用户网络通信时间
T3 = 单用户发送数据总量 / 用户带宽对应的传输速率
T4:用户设备处理时间
1.2用户响应时间
从用户的角度出发,用户的响应时间定义为用户进行提交操作至用户收到反馈信息的时间段,即事务处理时间(以下统一使用事务处理时间)。对应拓扑图时间点公式如下:
事务时间 = T3o + T2o+ T1 + T2i + T3i
(其中 下标o表示发送,下标i表示接收)
1.3用户响应时间优化策略
针对于T1、T2时间已达到最优配置时(参看第3节、第4节相关内容),根据历史测试经验,用户时间的瓶颈通常体现在T3时间段。通过T3时间段的计算公式可知,可以通过减小用户发送的数据包大小来提高T3时间。.
T3 计算公式:
T3 = 单用户发送数据总量 / 用户带宽对应的传输速率
该阶段主要采用回归测试方法,通过测试工具网络带宽来模拟用户实际带宽及网络延迟环境来协助研发进行优化结果的对比测试。
假设1个用户的发送事务总大小为512KB,而用户的网络支持传输速率为256KB/s(2M带宽),则T3的时间最小为2s(512 / 256)。如果需要缩短T3的时间段的耗时,那么最直接的手段是缩小事务数据包的大小。如将上述数据包缩小到256KB,那么T3的时间则相应的缩小到最小1s(256 / 256)。但是这样会额外增加客户端和服务器端的处理压力。但是,通常用户不能完全达到当前带宽的最大使用效能,及用户的传输速率不能达到56KB/s,要提升带宽利用率,则需要使用高速通信协议。
通常缩小T3时间段耗时的主要手段有但不限于如下几种:
1.对用户发送数据进行压缩,减小数据包大小。但会增加设备和服务器的压力,增加T1、T4时间。
2.采用其他高速通信协议。如采用端对端传输技术(P2P)
2.性能测试点
本次性能测试主要依据性能需求指标展开如下三项工作:
1.对服务器事务处理耗时即T1时间段进行基准测试。以及协助研发进行性能调优,提供相关性能数据。主要为对服务器性能、程序性能、数据库性能进行评估与测试。参见第3节。
2.收集计算事务总量大小,估算服务器最小带宽参考值。参见第4节
3.对用户网络通信时间进行评估与优化。参见1.3节。
3.服务器响应时间测试策略
3.1 服务器端性能测试相关时间点
服务器端的性能测试,即对T1时间的测试。服务器响应时间测试点如下图所示:(注:不体现服务器集群)
服务器端响应时间计算公式如下:
服务器响应时间 = T1_3i + T1_2i + T1_3 + T1_2o + T1_3o
其中时间点简介如下:
T1_1:数据库处理时间。主要为数据库脚本执行时间。
T1_2i:应用程序插入数据库时间。主要为操作数据库函数处理时间。
T1_2o:应用程序反馈数据时间。主要为respons相关函数处理时间。
T1_3i:服务器分配事务时间。主要为对request事务的分配,以及数据库连接池分配。
T1_3o:服务器回应事务时间。
3.2 服务器相关测试策略
3.2.1 性能评估
通过测试工具对服务器端进行如下测试
1.最大负载测试:获取当前服务器配置条件下,服务器端可承受的各种事务各自的最大随机负载量与并发负载的数量级。
2.基准测试:获取各个事务在不同数量级下的随机负载与并发负载状态的响应时间。
3.可靠性测试:模拟预期最大在线用户总数级,在服务器上进行长时间随机事务操作测试。
3.2.2 性能优化
如基准测试的性能测试结果没有达到预期性能指标。那么在基准测试的测试结果基础上,对T1_1、T1_2、T1_3时间分别进行针对性测试,检测出性能瓶颈所在,协助研发进行相关的测试性能调优工作。
4.服务器端最小带宽估算
服务器端最小带宽直接影响用户群传送的总数据的传输速度,即T2时间段的耗时。只有服务器端的带宽的最小传输速率大于用户户群传送的总数据的速率时,才能减小T2时间对用户响应时间的影响。
服务器端最小带宽估算公式:
服务器端最小带宽传输速率 = 用户群发送数据总量 / 预期最小T2耗时
带宽 = 带宽传输速率 × 8
如:
根据产品部预测,未来同时在线用户数约100,000人,其中有10,000人会不完全并发的提交请求。40%的用户操作功能1,50%的用户功能2。要求功能的响应时间小于3s,即T2时间要求小于3s。
根据测试得出功能1的事务提交数据大小为10KB,功能2提交的数据大小为20 KB。那么,需要的最小带宽传输速率的计算公式为:
最小带宽传输速率 = (10,000×40%×10 + 10,000×50%×20)/3 = 46667 KB /s
≈ 46 MB/s
最小带宽 = 46MB /s × 8 = 368 Mbps(参见下带宽与传输速率换算部分)
带宽与传输速率换算
在电子学领域里,表带宽是用来描述频带宽度的。但是在数字传输方面,也常用带宽来衡量传输数据的能力。用它来表示单位时间内(一般以“秒”为单位)传输数据容量的大小,表示吞吐数据的能力。这也意味着,宽的带宽每秒钟可以传输更多的数据。所以我们一般也将“带宽”称为“数据传输率”。
带宽的单位一般有两种表现形式;第一种是B/s、KB/s或MB/s,表示单位时间(秒)内传输的数据量(字节、千字节、兆字节);第二种是bps(或称b/s)、Kbps(或称Kb/s)或Mbps(或称Mb/s),表示单位时间(秒)内传输的数据量(比特、千比特、兆比特)。通常情况款,我们所说的1兆宽带,10兆宽带等都是指的第二种。
这两种带宽的换算公式是:1 B/s=8 bps(b/s)、1 KB/s=8 Kbps(Kb/s)、1 MB/s=8 Mbps(Mb/s)。
通常情况下,4兆宽带理论下载速度应该是512KB/S(4096Kbps / 8)。但因诸多原因,400---500KB/S都算正常。下载本文