一、背景介绍
XXXX是一个以视频教学为主的教学平台,因此对服务器所支持的视频下载量、下载速度等都有相应的要求。其中视频采用HTTP协议,为下载后对视频进行一个播放和学习。为了得出测试服务器网络是否满足XXXX的要求,从而对该服务器做相应的视频下载性能测试。
二、测试目的说明
通过该次性能测试,需要得出:
A、测试服务器网络满足多少人同时在线进行视频下载测试。
B、视频在各个阶段的下载速度(响应时间)。
C、测试服务器网络的稳定性。
三、测试环境
1、Linux Server (测试服务器)参数
硬件平台 |
机型:略 CPU:Intel(R) Xeon(R) CPU E5310 @ 1.60GHz 2 X 4 物理内存:8GB 交换区内存:5GB 硬盘大小:292.3GB |
操作系统 |
CentOS release 5.7 (Final) |
软件环境 |
mysql-5.1.55、php-5.2.17、nginx-1.0.0 |
网络带宽 |
100Mbps |
2、PC 测试机参数
1)远程Loadrunner负载机
硬件平台 |
机型:略 CPU:Intel(R) Xeon(R) CPU E5405 @ 2.00GHz 2 X 4 物理内存:2GB 交换区内存:4GB 硬盘大小:146.8GB |
操作系统 |
CentOS release 5.7 (Final) |
软件环境 |
Loadrunner 11 gerator |
网络带宽 |
100Mbps |
2)本地Loadrunner Controller机
硬件平台 |
机型:略 CPU:Intel(R) Xeon(R) CPU E5620 @ 2.40GHz 2.39GHz 内存:4GB 硬盘大小:232GB |
操作系统 |
Windows Server 2008 R2 Enterprise Service Pack 1 |
软件环境 |
Loadrunner 11 |
网络带宽 |
5Mbps |
四、测试方案
根据分析,XXXX视频播放所采用协议为HTTP,所以网站视频播放实际为:先下载,然后再进行播放的过程。针对上面过程编写相应的测试脚本。在测试服务器上放置一定的视频数量。然后通过负载机来模拟大量用户,通过不同的场景设计来达到性能测试的目的。因为网络视频下载的性能主要与网络带宽有关,且loadrunner远程监控服务器资源不稳定,所以场景中没对服务器资源做监控。
五、性能测试结果分析
1、测试结果分析一
1)测试场景一(初步负载测试)
采用逐步加压的方式(每30秒加入一个用户在网站不停的进行视频的下载播放学习),设定最大时有500个用户在线进行学习,当达到500人同时在线学习1个小时后再通过逐步减压的方式退出视频学习。
2)结果分析
A、测试概况
测试时间段 |
12/2 11:38 - 12/2 16:56 |
业务执行量(视频下载总数) |
29,440 |
网络总吞吐量(bytes) |
2.0748695566E11 |
平均网络吞吐量(bytes/sec) |
10,859,212 |
最大用户数(Vusers) |
500 |
B、网络吞吐量情况
分析:从上图中可以看到,当网络吞吐量达到11MB/秒左右时趋于稳定。根据此,可以得出当吞吐量达到11MB/秒左右时,达到该网络的瓶颈。根据曲线变化,得出此网络稳定带宽在90Mbps左右。(注意,这里服务器的带宽指的为上行带宽,下行带宽没有做限制,所以测试机的下行带宽不考虑为瓶颈因素)
C、网络吞吐量与用户关系
分析:结合网络吞吐量、用户趋势变化图,可以得出:当视频学习人数达到137人时,网络吞吐量趋于稳定;以后随着视频学习人数的增加,网络吞吐量不变。
function(2016-06-07 17:25:17)
场景二的测试结果分析三是一个比较新鲜的角度,受教了。