真实案例之视频下载性能测试分析报告

一、背景介绍

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。

实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!!

猜你喜欢

转载自blog.csdn.net/m0_59868866/article/details/131294618