一、背景介绍
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人时,网络吞吐量趋于稳定;以后随着视频学习人数的增加,网络吞吐量不变。
D、事务响应时间(视频下载时间)与用户关系
分析:根据图,可以得出随着视频学习人数的增加,视频下载所用的时间越来越慢。当视频学习人数达到500时,视频下载所用的时间稳定在240秒左右。下载速度=视频大小/视频下载时间,由于测试视频的大小为6.8MB,所以可以得出此时的视频下载速度大概为28KB/秒。
2、测试结果分析二
1)测试场景(疲劳强度测试)
采用逐步加压的方式(每30秒加入一个用户在网站不停的进行视频的下载播放学习),设定最大时有500个用户在线进行视频学习,当达到500人同时在线学习8个小时后再通过逐步减压的方式退出视频学习。
2)结果分析
A、测试概况
测试时间段 |
12/2 17:47 - 12/3 6:05 |
业务执行量(视频下载总数) |
71,723 |
网络总吞吐量(bytes) |
5.054907139E11 |
平均网络吞吐量(bytes/sec) |
11,410,110 |
最大用户数(Vusers) |
500 |
B、网络吞吐量情况
分析:从上图中可以看到,当网络吞吐量达到11MB/秒左右时趋于稳定。根据此,可以得出当吞吐量达到11MB/秒左右时,达到该网络的瓶颈。根据曲线变化,得出此网络稳定带宽在90Mbps左右。
C、网络吞吐量与用户关系
分析:结合网络吞吐量、用户趋势变化图,可以得出:当视频学习人数达到137人时,网络吞吐量趋于稳定;以后随着视频学习人数的增加,网络吞吐量不变。
D、事务响应时间(视频下载时间)与用户关系
分析:根据图,可以得出随着视频学习人数的增加,视频下载所用的时间越来越慢。当视频学习人数达到500时,视频下载所用的时间稳定在240秒左右。下载速度=视频大小/视频下载时间,由于测试视频的大小为6.8MB,所以可以得出此时的视频下载速度大概为28KB/秒。
3、测试结果分析三
表5-3-1 同一视频课程(该课程共分为16段)视频FLV和SWF文件视频码率分析表
1)从上面表中数据可以看出,同一种格式的视频,它们的码率波动较大。结合上面表中数据,可以得出:
2)实际码率会直接影响网络传输的性能。在有网络带宽的限制下,实际码率越小,所支持的在线3)视频播放数越大;反之码率越高,所支持的在线视频播放数越小。因此从网络传输性能来看,采用SWF文件格式更好。
4)一个带宽受限的信道中进行多媒体通讯时候,受限的是最高码率。因此FLV文件受限的码率为235kbps,SWF文件受限的码率为111kbps。
5)根据码率与网络带宽之间的关系,如果要流畅播放改课程,FLV文件的带宽不低于235kbps,SWF文件的带宽不低于111kbps。根据带宽与下载速度之间的关系,FLV文件要保证流畅播放下载速度不能低于30KB/s,SWF文件要保证流畅播放下载速度不能低于14KB/s。
六、结论
从测试结果分析一、测试结果分析二和测试结果分析三可以得出:
测试服务器网络实际带宽稳定在90Mbps左右。
当视频下载学习人数在137人时,网络带宽达到瓶颈,以后随着视频学习人数的增加,视频下载速度越来越慢。
当视频下载学习人数达到500时,视频的下载速度稳定在28KB/秒左右。
当视频学习人数达到500时,能够较为流畅的在线观看视频(如果能够边下载边播放)。
补充说明
由于测试所用的视频大小固定,视频格式较单一,而实际的使用情况复杂多样,所以测试结果与实际用户的使用结果存在一定的偏差。但通过该测试,较为真实的反映了测试服务器作为视频服务器时,该网络环境对视频下载学习人数的支持情况。
改善建议
现在XXXX视频播放所采用的协议为HTTP,此协议为先下载后播放,这样导致的结果为:当视频下载使用人数过多,或者偶然性的高并发,导致较大视频下载所用的时间过长,用户体验性差。建议采用边下载边播放的流媒体协议,如RTSP。
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,