




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 浅谈LoadRunner在网络流媒体中的应用摘 要:随着互联网的迅猛发展和普及为网络流媒体业务发展提供了强大市场动力,网络流媒体技术也得到了广泛的应用,用户对流媒体业务的质量需求也日益高涨。本文首先简单介绍什么是loadrunner和它的工作原理以及什么是网络流媒体和网络流媒体的工作原理,然后介绍如何运用loadrunner对网络流媒体的播放操作进行压力测试,研究分析测试结果,提出相应的解决方案。关键词:loadrunner 网络流媒体 压力测试talking about the loadrunner in the network streaming media application li
2、 li(hebei quantong communication co., ltd. shijiazhuang city, 050021)【abstract】with the rapid development of the internet and the popularity of network streaming media business development with apowerful market power, network stream media technology has been widely applied, the user streaming media
3、service quality demand is also growing.this paper briefly introduced what is loadrunner and its principle of work as well as what is a network streaming media and streaming media network working principle, then introduced how to use loadrunner on the network streaming media, pressure test, analysis
4、of test results, and puts forward the corresponding solutions.【key words】loadrunner network streaming media pressure test 0 引 言随着互联网的迅猛发展和普及为网络流媒体业务发展提供了强大市场动力,网络流媒体技术也得到了广泛的应用,用户对流媒体业务的质量需求也日益高涨。下面简单介绍什么是loadrunner和它的工作原理以及什么是网络流媒体和网络流媒体的工作原理,然后介绍如何运用loadrunner对网络流媒体播放操作进行压力测试,研究分析测试结果,提出相应的解决方案。 1
5、 loadrunner及其工作原理首先简单介绍一下loadrunner,loadrunner是一种预测系统行为和性能的负载测试工具。loadrunner主要针对基于浏览器相关的业务,通过模拟上千用户,实施并发负载测试及实时监测性能的方式来确认和查找系统存在的问题和瓶颈。运用 loadrunner进行性能自动化测试,项目能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。下面对loadrunner的原理简单阐述,loadrunner主要是先模拟单用户操作,记录、解释并执行脚本,最后通过多用户并发执行脚本,找出系统中最薄弱的环节即瓶颈的地方。下面来简单认识一下loadrunner的内部结构
6、,如图1.1所示,是loadrunner的总体结构图,包括了主要的三个部分,vugen,图1.1简单描述一下之间的工作原理:vugen进行基本脚本的记录。controller 是一个中央控制台管理和监控负载测试,数以千计的虚拟用户通过controller执行的应用测试,模拟流量。analysis对controller的运行结果进行分析。 2 网络流媒体 2.1 网络流媒体的定义:网络流媒体是以流的方式在网络中传播音频、视频或多媒体文件的形式。 流媒体用流式传输方式将视频和音频等多媒体文件经过特殊的压缩方式打成一个个压缩包,由server向用户机连续、实时传送。在采用流式传输方式时,用户不必等到
7、整个文件全部下载完毕后才能看视频或者音频内容,而只需经过很短的启动时间即可播放压缩的视频或音频等流式媒体文件,剩余的部分将继续进行下载,直至播放完毕。 这个过程的一系列相关的packge称为“流”。流媒体实际指是一种新的媒体传送方式, 该技术全面应用后,人们在网上聊天可直接语音输入,并可以进行视频聊天,大大满足了用户远程可视的愿望。 1.2 网络流媒体的工作原理:要想对网络流媒体进行性能测试,首先要对网络流媒体的工作原理有所了解,以便我们能选择相应的协议,如本次测试需要选择real、windows sockets、web(http/html)等协议,一个完整的网络流媒体解决方案应是相关软硬件的
8、完美集成,大致包括: 互联网服务、传送内容的采集、编辑、存储、播放、视音频捕获和压缩编码、应用服务器内容管理发布及用户管理等,在流式传输的实现方案中,一般采用http/tcp协议来传输控制信息,而用rtp/udp协议来传输实时声音数据。如图2.1所示:图2.1简单描述:(1)web brower与web server之间使用http/tcp交换控制信息。(2)通过http从web server检索出相关数据,并进行初始化。(3)从web server检索出来的相关服务器的地址定位a/ v server。(4)a/v play与a/v server之间交换传输所需要的实时控制协议。(5)一旦数据
9、抵达客户端,a/v play就可播放。因为数据流是以包传输为基础,进行连续或断续的异步传输,在播放时,流式传输的实现需要缓存,在传输中它们要被分解为许多包,由于网络是动态变化的,各个package也会选择不同的路由方式,故到达客户端的时间延迟也就不等,甚至先发的数据包还有可能后到。为此,使用缓存来弥补延迟和抖动,并保证数据包的按照正确的顺序发出,从而使媒体数据能连续输出,不会因为网络暂时拥塞使播放出现停顿。目前主流的流媒体技术有三种,分别是realnetworks公司的realmedia、microsoft公司的windowsmediatechnology和apple公司的quicktime。
10、这三家的技术都有自己的专利算法、专利文件格式甚至专利传输控制协议。 3 运用landrunner对网络流媒体进行压力测试loadrunner的工作原理很简单,但是该如何运用loadrunner对网络流媒体进行压力测试, 首先了解什么叫压力测试,压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大的服务级别的测试。通俗地讲,压力测试是为了发现在什么条件下应用程序的性能会变得不可接受。其次是要有测试脚本也就是script,由于loadrunner对网络流媒体的记录方式虽然是支持的,但是大部分功能需要手动编写脚本去实现。 3.1 测试脚本的编写loadrunner中是使用re
11、alplayer lreal函数仿真realplayer协议进行客户端和服务器之间的通信功能,每个实时播放功能有lreal前缀。vugen 能自动记录在real player在session有效期内的 lreal功能列表, 但是由于大多录制内容不完全,对于主要的函数功能如:lreal_close_ player、lreal_current_time、lreal_get_property需要进行人工编写方可实现。根据我实际测试的经验,网络流媒体测试步骤可分为以下几步:使用web(http/html) 和 windowssocket双协议来录制,在产生的script中找到播放的流媒体文件名。然后将
12、脚本中web的部分拷贝到事先准备的web 和mms或者web和real脚本模板中(具体选择哪个模板,根据自己要测试的流媒体格式类型)再手工编写real或mms的播放代码。最后添加关闭代码。(这个很重要,如果不加关闭代码,会导致内存泄漏)。图3.1列举笔者实际测试网络流媒体的一个脚本实例,由于篇幅所限只显示重要的代码片段。 3.2 脚本运行结果从图3.2脚本运行结果中可以看到clip size is 1271360 milliseconds 和clip current time is 394 milliseconds 等的时间属性。接下来可以进入controll控制台,在仿真环境进行模拟多用户使
13、用流媒体进行压力测试。通过测试可以看到,当用户数为60person时,用户全部通过。从实测图4的数据中可以看到cpu和内存的使用情况。%processor time:如果该值持续超过95%,表明瓶颈是cpu。可以考虑增加一个处理器或换一个更快的处理器。% dpc time:在多处理器系统中,如果这个值大于50%,并且cpu值很大,可加入一个网卡可能会提高性能,提供的网络已经不饱和,该值越小越好。memory:内存使用情况可能是系统性能中最重要的因素。如果系统“页交换”频繁,说明内存不足。page/sec: 表明由于硬件页面错误而从磁盘取出的页面数,或由于页面错误而写入磁盘以释放工作集空间的页面
14、数。一般如果pages/sec持续高于几百,可能需要增加内存,以减少换页的需求。pages/sec 的值很大不一定表明内存有问题,而可能是运行使用内存映射文件的程序所致。从实测图4中可以看到cpu和内存基本处于正常状态。但当连续三次压100人时只有部分通过。(红色代表没通过的用户数) 3.3 分析结果:从实测图1可以看出;并发1060人时,通过率还比较高,从并发10人起,随数增加,通过人数变化平稳,说明并发60人以内时,流媒体播放比较稳定。从实测图2可以看出:当第一次并发100人时,100人均通过。并且系统保持平稳。从实测图5和实测图6可以看出:连续三次并发100人时性能明显下降,只有85人通
15、过,平均响应时间15.896s,已经超过的容忍度。分析原因,是后台播放流媒体没有关闭,后台进程已占满所致,如实测图7所示,没有一个进程能正常运行,说明有内存溢出现象,需要修改脚本代码把状态改为close。 3.4 容易出错的地方以及出错原因及解决方案错误现象1:action.c(12): error:connection to the server has timed out. you may be experiencing networkproblems错误分析:可能是由于网络不可达或本地文件路径出错,或mdrv.exe进程都被挂起。解决办法:可以先检查一下服务是否可用,本地访问路径是否输入
16、正确。一定要把地址写全,前边的file不能丢。错误现象2:模拟录制后,脚本的action内容为空。错误分析:可能没有选择正确的协议,也可能协议选择不全。解决办法:首先熟悉被测试软件所用的协议,然后根据协议进行选取,注意不能多选,也不能少选,多选容易造成协议间的不兼容现象。错误现象3:并发后会pass大幅度减少,error大幅度增加。解决办法:查看后台进程表,可能原因就是在写脚本时,没有及时关闭相应的操作。在写代码最后需要关闭流媒体为close状态。 4 结束语本文首先简单介绍什么是loadrunner和它的工作原理以及什么是网络流媒体和网络流媒体的工作原理,然后通过一些实际测试的方法和步骤,以及测试的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 姜堰二中入校考试题目及答案
- 山西体重管理师考试题库及答案
- 肠道菌群失调研究-洞察与解读
- 2025零售药店培训试题库及答案
- 低功耗广域通信-第3篇-洞察与解读
- 2025年福建省事业单位招聘考试计算机类综合能力测试试卷及答案
- 2025年广东省阳江市事业单位招聘考试综合类面试真题模拟试卷
- 2025年事业单位招聘考试综合类专业能力测试试卷(计算机类)-2025年春季试题答案
- 2025年事业单位招聘考试综合类专业能力测试试卷(旅游类)真题模拟解析试题
- 2025年湖北省事业单位招聘考试电子商务类综合能力测试真题模拟解析
- 美术基础 课件全套 第1-5章 美术简介 -中国民间美术
- 2025年青少年法制知识竞赛题库
- 小学德育工作会议记录
- 《中职工程测量技术专业《GNSS测量技术与应用》课程标准》
- 公安部门大数据管理办法
- 骨科患者围手术期营养管理
- 竞业限制培训
- 水厂培训课件
- 类风湿关节炎达标治疗
- 变电运行与检修考试题(附答案解析)
- 衢州学院十五五校园及校园文化建设规划
评论
0/150
提交评论