CN112954300B - 视频监控平台的性能测试装置及方法 - Google Patents
视频监控平台的性能测试装置及方法 Download PDFInfo
- Publication number
- CN112954300B CN112954300B CN201911264794.1A CN201911264794A CN112954300B CN 112954300 B CN112954300 B CN 112954300B CN 201911264794 A CN201911264794 A CN 201911264794A CN 112954300 B CN112954300 B CN 112954300B
- Authority
- CN
- China
- Prior art keywords
- test
- video stream
- stream data
- data packet
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/181—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种视频监控平台的性能测试装置及方法,该方法包括:测试执行过程中,采用异步输入输出IO机制生成模拟视频流数据包并发送至被测服务器;测试执行完成后,对所述摄像头模拟器的运行日志以及所述被测服务器上的nmon工具日志进行分析与统计,得到多项测试指标;本发明实施例采用异步IO机制通过摄像头模拟器生成模拟视频流数据包并发送至被测服务器,并在测试执行完成后,对所述摄像头模拟器的运行日志以及所述被测服务器上的nmon工具日志进行分析与统计,得到被测服务器的性能测试指标和视频领域的性能指标,在满足视频直播或视频监控领域的测试需求的基础上提升测试效率。
Description
技术领域
本发明涉及通信技术领域,尤其是指一种视频监控平台的性能测试装置及方法。
背景技术
随着物联网技术的发展与大规模应用,特别是家庭安防与企业监控安防行业的兴起,越来越多的家庭或企业采用基于物联网技术的智能监控摄像头进行安全监控。目前主流的监控平台大多采用“(大量)终端——服务器——(大量)客户端”的“多对一对多”架构。随着接入设备的不断增长,对后台服务器的性能要求也与日俱增。因此对服务器进行性能压力测试,也成为了产品研发环节的重压环节。
目前定义的对服务器的性能测试通常包含了如下的测试内容:
负载测试-通过逐渐增加服务器的负载,测试在不同负载情况下服务器的各项指标的变化情况;
压力测试-通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大的服务级别的测试。
通常的服务器指标包含CPU(Central Processing Unit,中央处理器)利用率,内存利用率,磁盘读写速率,网络吞吐量等。
通常测试范围为“服务器-客户端”,即主要通过模拟大量用户并发进行操作(发送请求),来测试服务器后台性能。
目前的性能测试工具大多数都是针对网络服务器所设计的,能够有效的针对基于http协议通信的服务器后台进行测试。大多数的测试架构为典型的“客户端-服务器”。较少涉及到物联网领域或者视频直播领域使用的协议。对于基于RTP(实时传输协议)协议开发的和目协议则为空白;另外,对于视频直播领域的专有性能指标,如丢帧率,时延,抖动等更是无法支持。
发明内容
本发明实施例的目的在于提供一种视频监控平台的性能测试装置及方法,以解决现有技术中对于视频直播或视频监控领域的测试需求支持不足的问题。
为了解决上述问题,本发明实施例提供一种视频监控平台的性能测试装置,包括:
控制台;
与所述控制台连接的至少一个负载机;所述控制台用于控制各个负载机的测试执行以及接收所述负载机的响应信息;
每个负载机包括一个并发调度器和至少一个线程,每个线程设置一个摄像头模拟器;所述并发调度器用于对所述至少一个线程进行并发调度;所述摄像头模拟器与被测服务器连接;所述摄像头模拟器用于生成模拟视频流数据包并发送至所述被测服务器;
日志收集器以及日志分析器;
其中,所述日志收集器用于在测试执行完成后收集每个负载机上的摄像头模拟器的运行日志以及所述被测服务器上的nmon工具日志;
所述日志分析器用于对所述摄像头模拟器的运行日志以及所述被测服务器上的nmon工具日志进行分析与统计,得到多项测试指标。
其中,所述多项测试指标包括下述至少一项:
被测服务器中央处理器或内存使用率;
被测服务器的磁盘读写速率;
被测服务器的网络吞吐量;
视频丢帧率;
视频转发时延;
视频抖动率;
心跳丢包率;
设备在线数量;
设备同时推流数量。
其中,所述摄像头模拟器包括:
测试数据生成器以及和目封装器;
其中,所述测试数据生成器通过生成接口来生成模拟传送的视频流数据包;所述和目封装器用于将所述测试数据生成器生成的视频流数据包封装成符合和目协议传输格式的模拟视频流数据包。
其中,所述测试数据生成器的生成接口根据不同的参数组合能够提供定制化的视频流数据包的生成。
本发明实施例还提供一种视频监控平台的性能测试方法,应用于如上所述的性能测试装置,包括:
测试执行过程中,采用异步输入输出IO机制生成模拟视频流数据包并发送至被测服务器;
测试执行完成后,对所述摄像头模拟器的运行日志以及所述被测服务器上的nmon工具日志进行分析与统计,得到多项测试指标。
其中,所述多项测试指标包括下述至少一项:
被测服务器中央处理器或内存使用率;
被测服务器的磁盘读写速率;
被测服务器的网络吞吐量;
视频丢帧率;
视频转发时延;
视频抖动率;
心跳丢包率;
设备在线数量;
设备同时推流数量。
其中,所述测试执行过程中,采用异步输入输出IO机制生成模拟视频流数据包并发送至被测服务器,包括:
测试执行过程中,通过所述负载机的各个线程对应的摄像头模拟器生成模拟视频流数据包并发送至所述被测服务器;
其中,所述摄像头模拟器包括:设备真实在线接口,所述设备真实在线接口用于模拟所述摄像头模拟器在线与所述被测服务器进行通信;
所述设备真实在线接口采用异步IO机制,且所述设备真实在线接口内部的操作以协程的形式注册到事件循环中。
其中,所述测试执行过程中,通过所述负载机的各个线程对应的摄像头模拟器生成模拟视频流数据包并发送至所述被测服务器,包括:
所述摄像头模拟器调用测试数据生成器和和目封装器生成模拟视频流数据包,并将所述模拟视频流数据包存入环性队列的缓存区;
从所述缓存区顺序取出所述模拟视频流数据包,并发送至所述被测服务器;
其中,缓存区中数据包的输入和输出采用异步IO机制。
其中,所述方法还包括:
在所述缓存区写满的情况下,丢弃部分待存入缓存区的模拟视频流数据包,并在丢弃的模拟视频流数据包的个数记录至所述运行日志。
其中,测试执行过程中,所述方法还包括:
向所述被测服务器发送心跳报文,并将心跳报文的发送次数记录至所述运行日志。
其中,测试执行过程中,所述方法还包括:
接收被测服务器反馈的数据,并对接收到的数据进行解析;
根据解析结果执行相应操作。
本发明实施例还提供一种视频监控平台的性能测试装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序,所述处理器执行所述程序时实现如上所述的视频监控平台的性能测试方法。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的视频监控平台的性能测试方法中的步骤。
本发明的上述技术方案至少具有如下有益效果:
本发明实施例的视频监控平台的性能测试装置及方法,采用异步IO机制通过摄像头模拟器生成模拟视频流数据包并发送至被测服务器,并在测试执行完成后,对所述摄像头模拟器的运行日志以及所述被测服务器上的nmon工具日志进行分析与统计,得到被测服务器的性能测试指标和视频领域的性能指标,在满足视频直播或视频监控领域的测试需求的基础上提升测试效率。
附图说明
图1表示本发明实施例提供的视频监控平台的性能测试装置的结构示意图之一;
图2表示本发明实施例提供的视频监控平台的性能测试装置的结构示意图之二;
图3表示本发明实施例提供的视频监控平台的性能测试方法的步骤流程图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
如图1及图2所示,本发明实施例提供一种视频监控平台的性能测试装置,包括:
控制台;
与所述控制台连接的至少一个负载机;所述控制台用于控制各个负载机的测试执行以及接收所述负载机的响应信息;
每个负载机包括一个并发调度器和至少一个线程,每个线程设置一个摄像头模拟器;所述并发调度器用于对所述至少一个线程进行并发调度;所述摄像头模拟器与被测服务器连接;所述摄像头模拟器用于生成模拟视频流数据包并发送至所述被测服务器;
日志收集器以及日志分析器;
其中,所述日志收集器用于在测试执行完成后收集每个负载机上的摄像头模拟器的运行日志以及所述被测服务器上的nmon工具日志;
所述日志分析器用于对所述摄像头模拟器的运行日志以及所述被测服务器上的nmon工具日志进行分析与统计,得到多项测试指标。
本发明实施例中,摄像头模拟器包括下述属性:
设备编号、设备MAC地址、设备类型、被测服务器地址、被测服务器端口。
本发明实施例中,每个线程设置一个摄像头模拟器,通过多线程的方式达到并发构造压力的效果。由于python(一种面向对象的解释型计算机程序设计语言)的多线程库同时只能使用一个CPU核心,需要使用多个python进程以达到最大化利用CPU的目的。然而由于python的多进程库在对struct库(一个内置库)进行序列化时目前存在问题,无法使用python自带的多进程实现,故本发明实施例提供的性能测试装置中包括并发调度器。
该并发调度器使用Docker容器技术,Docker的容器可以视作轻量级的虚拟机,由于是基于进程级别的虚拟化,对性能浪费极低,并且可以指定容器使用指定的CPU核心,从而达到充分利用CPU计算能力的目的。
可选的,负载机的主要功能是与控制台进行通信,控制并发调度器进行测试任务的启动和停止,同时向控制台反馈执行进度/状态等。其内部与控制台通过tcp长连接进行通信。
控制台的作用为与负载机代理进行通信,控制各个负载机的测试执行,以及接收负载机的响应信息,为测试人员提供测试执行界面。具体的,控制台通过命令启动和停止,通过配置文件的方式来配置负载机IP与端口,每台负载机的线程数量,测试策略,测试时长,日志存放目录等。采用统一格式的配置文件来统一配置测试策略,简单易用,配置可保存复用。
日志收集器的主要功能为:测试任务执行完毕后通过scp协议收集每台负载机上摄像头模拟器的运行日志和被测服务器上nmon工具的日志:
其中nmon工具日志用来提供服务器CPU/内存使用率,磁盘读写速率,网络吞吐量等常规或者业界通用的性能测试指标。被测服务器的运行日志用来提供视频领域的性能指标。
日志分析器在日志收集成功后进行分析与统计各项测试数据,能够提供如下的测试指标:
被测服务器中央处理器或内存使用率;
被测服务器的磁盘读写速率;
被测服务器的网络吞吐量;
视频丢帧率(视频直播领域的性能指标);
视频转发时延(视频直播领域的性能指标);
视频抖动率(视频直播领域的性能指标);
心跳丢包率(反应服务器稳定性);
设备在线数量(物联网领域的性能指标);
设备同时推流数量(视频监控领域的性能指标)。
具体的,各测试指标的计算方式如下:
CPU/内存/网络流量:
统计方法:通过NMON工具对被测服务器进行记录;指标含义:代表服务器的硬件处理能力。
心跳丢包率:
统计方法:摄像头模拟器端对每次发送的心跳报文进行计数,同时记录接收到的心跳报文,测试结束后统计丢失的数量与总发送数的比例即为心跳丢包率。指标含义:心跳丢包率反应被测平台的在线稳定性,越低说明被测平台稳定性越高。
视频流丢帧率:
统计方法:视频流丢帧率分为两种:
1.摄像头模拟器推流的时候的丢帧率:摄像头模拟器程序内部有发送缓存机制,当发送缓存占满(即网络拥塞),则进行丢包处理,程序统计丢掉的包数量,最后除以总发送数量即为发送端丢包率。
2.信道探测参考信号SRS转发丢包率:当SRS服务器转发流数据时候,当网络拥塞时候,需要丢掉一些数据保证不出现大的断流现象,统计方式为收集SRS日志并通过正则表达式查询日志记录。(注,采用非SRS方案的流媒体服务器不支持此统计方法)。
指标含义:在网络条件优良的情况下:
1.模拟器丢帧率越低,网关服务器的吞能力越高。
2.SRS转发丢帧率越低,SRS服务器的吐能力越高。
设备在线率:
统计方法:摄像头模拟器在出现5次丢心跳后判断掉线,停止连接,测试结束后在线模拟器数量除以总体模拟器数量。
指标含义:设备在线率代表了被测平台的连接稳定性。设备在线率越高,服务器的稳定度越高。
登录成功率:
统计方法:登录平台服务器成功的摄像头模拟器数量除以总体摄像头模拟器数量。指标含义:登录成功率代表服务器的并发处理登录事务的能力,登录成功率越高,服务器的登录事务的并发处理能力越高。
视频流转发时延:
统计方法:需要在被测服务器的程序中预埋测试代码,记录指定某几路的数据包到达网关的时间戳T1与从SRS服务器开始转发出去的时间戳T2。然后得到T2-T1的差值,最后计算平均值。
指标含义:转发时延代表了视频数据从推送到平台服务器,然后进行内部解密,转发,再封装,最后从SRS服务器转发出去的内部处理耗时。反应了后台架构的处理效率,转发时延越低,用户等待时间越低,服务器处理效率越高。
视频流抖动:
统计方法:记录每路流的RTP时间戳信息并进行计算。
指标含义:抖动是指每一帧数据之间的间隔是否为固定时间,比如一般的视频流采样率为90000,每秒帧数为25帧,每帧间隔为90000/25=3600。这个每帧的时间戳信息会封装在rtp包的包头中。如果从SRS服务器转发出来后每帧的间隔不是3600,而是大于或者小于的话,我们则称这种现象为抖动。抖动越大,用户观看视频的体验越差。
可选的,本发明的上述实施例中,所述摄像头模拟器包括:
测试数据生成器以及和目封装器;
其中,所述测试数据生成器通过生成接口(generate()接口)来生成模拟传送的视频流数据包;所述和目封装器用于将所述测试数据生成器生成的视频流数据包封装成符合和目协议传输格式的模拟视频流数据包。所述测试数据生成器可快速调用generate()接口生成该模拟传送的视频流数据包。
其中,测试数据生成器提供generate()接口来提供模拟传输的视频流数据包,该视频流数据包的RTP头包含时间戳信息,可以用于后续日志分析器统计抖动指标。
其中,所述测试数据生成器的生成接口根据不同的参数组合能够提供定制化的视频流数据包的生成;如数据类型,RTP包长度类型,起始RTP头序列号,起始时间戳,生成次数等。可定制化的测试数据生成器,可快速配置不同的测试策略,覆盖不同的测试场景与测试需求。
和目封装器的作用在于将测试数据生成器产生的原始视频流数据包封装成符合和目协议传输格式的数据包。
可选的,和目协议的数据包发送格式为:
数据包长度(4字节)+数据包内容。
综上,本发明实施例提供的视频监控平台的性能测试装置采用分布式架构提升性能测试压力,易于构建并发规模的测试场景,测试压力可随负载机数量线性无损增长;且测试记录自动收集与分析处理,提升测试效率。
如图3所示,本发明实施例还提供一种视频监控平台的性能测试方法,应用于如上所述的性能测试装置,包括:
步骤31,测试执行过程中,采用异步输入输出IO机制生成模拟视频流数据包并发送至被测服务器;
步骤32,测试执行完成后,对所述摄像头模拟器的运行日志以及所述被测服务器上的nmon工具日志进行分析与统计,得到多项测试指标。
可选的,异步IO机制相比同步IO机制最大的区别在于同步IO机制当程序进行IO操作时,程序会阻塞CPU直到IO操作完成为止,在阻塞期内,CPU无法处理其他请求,由于IO操作通常比较耗时,导致CPU长时间处于等待状态从而导致处理能力被浪费掉了。而异步IO机制则是当某个子程序在进行IO操作等比较耗时的操作的时候,主程序允许挂起该子程序,然后去寻找其他可执行的子程序进行处理,等待后台IO操作完成后,主程序再回头继续处理该子程序。这样CPU始终不被阻塞,计算效率极大的提升。
在日志收集成功后进行分析与统计各项测试数据,能够提供如下的测试指标:
被测服务器中央处理器或内存使用率;
被测服务器的磁盘读写速率;
被测服务器的网络吞吐量;
视频丢帧率(视频直播领域的性能指标);
视频转发时延(视频直播领域的性能指标);
视频抖动率(视频直播领域的性能指标);
心跳丢包率(反应服务器稳定性);
设备在线数量(物联网领域的性能指标);
设备同时推流数量(视频监控领域的性能指标)。
各测试指标的计算方式已在测量装置中进行详细说明,此处不进行重复赘述。
作为一个可选实施例,步骤31包括:
测试执行过程中,通过所述负载机的各个线程对应的摄像头模拟器生成模拟视频流数据包并发送至所述被测服务器;
其中,所述摄像头模拟器包括:设备真实在线接口,所述设备真实在线接口用于模拟所述摄像头模拟器在线与所述被测服务器进行通信;
所述设备真实在线接口采用异步IO机制,且所述设备真实在线接口内部的操作以协程的形式注册到事件循环中。
本发明实施例通过协程模式实现的异步IO模型,进一步提升CPU利用率,减小内存开销。
其中,摄像头模拟器提供设备注册接口,设备登录接口,设备真实在线接口,其中设备注册接口和设备登录接口使用注册报文与登录报文向被测服务器发送,用于保证摄像头模拟器可以合法的与被测服务器进行交互。设备真实在线接口用于摄像头模拟器在线与被测服务器进行通信。
设备真实在线接口内部实现了一个事件循环(event_loop),所有操作(生成数据,发送数据,发送心跳,接收服务器数据)均以协程(coroutine)的形式注册到事件循环中(采用协程的好处在于协程的开销相比线程跟进程要小很多,能够支撑更大的并发量)。
作为又一个可选实施例,所述测试执行过程中,通过所述负载机的各个线程对应的摄像头模拟器生成模拟视频流数据包并发送至所述被测服务器,包括:
所述摄像头模拟器调用测试数据生成器和和目封装器生成模拟视频流数据包(例如,以实际视频播放时间(一秒25帧)固定生成模拟视频流数据包),并将所述模拟视频流数据包存入环性队列的缓存区;
从所述缓存区顺序取出所述模拟视频流数据包,并发送至所述被测服务器;
其中,缓存区中数据包的输入和输出采用异步IO机制。
进一步的,所述方法还包括:
如果服务器压力过大或者网络状况不佳,在所述缓存区(环性队列的长度是固定的)写满的情况下,丢弃部分待存入缓存区的模拟视频流数据包(精确的模拟真实摄像头的行为),并在丢弃的模拟视频流数据包的个数记录至所述运行日志。在事件循环结束后将打印至日志中并最终被“日志分析器”进行统计和计算出“视频流丢帧率”这一测试指标。
可选的,测试执行过程中,所述方法还包括:
向所述被测服务器发送心跳报文,并将心跳报文的发送次数记录至所述运行日志。
即“心跳发送协程”按照服务器规定的心跳发送间隔发送心跳报文,摄像头模拟器内部内置了“心跳发送计数器”对发送的心跳进行计数。在事件循环结束后将打印至日志中。
进一步的,所述方法还包括:
接收被测服务器反馈的数据,并对接收到的数据进行解析;根据解析结果执行相应操作。
例如,“接收服务器数据协程”始终按照异步IO机制读取服务器返回过来的数据,并将接收到的数据进行拼接组装成完整的TCP数据报和进行解析判断。如果为服务器返回的心跳报文则将摄像头模拟器内部内置的“心跳接收计数器”计数加1(同样会在事件循环结束后打印至日志中,并最终与上小段中的心跳发送计数一起被“日志分析器”计算出“心跳丢包率”这一测试指标),如果为“开始推流指令”则通知“数据生成协程”开始生成视频流数据,如果为“结束推流指令”则通知“数据生成协程”停止生成视频流数据,如果为“调整清晰度指令”则通知“数据生成协程”生成指令指定码率的视频流数据。
综上,本发明实施例提供的测试方法流程如下:
a)测试环境准备:
i.被测服务器安装nmon工具;
ii.负载机安装Docker工具,安装负载机,配置负载机的端口号;
iii.工作PC上安装控制台;
b)操作步骤:
i.填写配置文件用于配置负载机的IP地址与端口号,负载机端日志存放目录,线程数量(并发数),测试策略(在线/在线+推流/在线+推流+拉流),测试时长,报告输出目录;
ii.启动控制台。
iii.等待测试结束,查看测试报告。
综上,本发明实施例采用采用异步IO机制通过摄像头模拟器生成模拟视频流数据包并发送至被测服务器,并在测试执行完成后,对所述摄像头模拟器的运行日志以及所述被测服务器上的nmon工具日志进行分析与统计,得到被测服务器的性能测试指标和视频领域的性能指标,在满足视频直播或视频监控领域的测试需求的基础上提升测试效率。
本发明实施例还提供一种视频监控平台的性能测试装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的视频监控平台的性能测试方法实施例中的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的视频监控平台的性能测试方法实施例中的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储介质中,使得存储在该计算机可读存储介质中的指令产生包括指令装置的纸制品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他科编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种视频监控平台的性能测试装置,其特征在于,包括:
控制台;
与所述控制台连接的至少一个负载机;所述控制台用于控制各个负载机的测试执行以及接收所述负载机的响应信息;
每个负载机包括一个并发调度器和至少一个线程,每个线程设置一个摄像头模拟器;所述并发调度器用于对所述至少一个线程进行并发调度;所述摄像头模拟器与被测服务器连接;所述摄像头模拟器用于生成模拟视频流数据包并发送至所述被测服务器;
日志收集器以及日志分析器;
其中,所述日志收集器用于在测试执行完成后收集每个负载机上的摄像头模拟器的运行日志以及所述被测服务器上的nmon工具日志;
所述日志分析器用于对所述摄像头模拟器的运行日志以及所述被测服务器上的nmon工具日志进行分析与统计,得到多项测试指标;
所述多项测试指标包括下述至少一项:
被测服务器中央处理器或内存使用率;
被测服务器的磁盘读写速率;
被测服务器的网络吞吐量;
视频丢帧率;
视频转发时延;
视频抖动率;
心跳丢包率;
设备在线数量;
设备同时推流数量。
2.根据权利要求1所述的性能测试装置,其特征在于,所述摄像头模拟器包括:
测试数据生成器以及和目封装器;
其中,所述测试数据生成器通过生成接口来生成模拟传送的视频流数据包;所述和目封装器用于将所述测试数据生成器生成的视频流数据包封装成符合和目协议传输格式的模拟视频流数据包。
3.根据权利要求2所述的性能测试装置,其特征在于,所述测试数据生成器的生成接口根据不同的参数组合能够提供定制化的视频流数据包的生成。
4.一种视频监控平台的性能测试方法,应用于如权利要求1-3任一项所述的性能测试装置,其特征在于,包括:
测试执行过程中,采用异步输入输出IO机制生成模拟视频流数据包并发送至被测服务器;
测试执行完成后,对所述摄像头模拟器的运行日志以及所述被测服务器上的nmon工具日志进行分析与统计,得到多项测试指标;
所述多项测试指标包括下述至少一项:
被测服务器中央处理器或内存使用率;
被测服务器的磁盘读写速率;
被测服务器的网络吞吐量;
视频丢帧率;
视频转发时延;
视频抖动率;
心跳丢包率;
设备在线数量;
设备同时推流数量。
5.根据权利要求4所述的方法,其特征在于,所述测试执行过程中,采用异步输入输出IO机制生成模拟视频流数据包并发送至被测服务器,包括:
测试执行过程中,通过所述负载机的各个线程对应的摄像头模拟器生成模拟视频流数据包并发送至所述被测服务器;
其中,所述摄像头模拟器包括:设备真实在线接口,所述设备真实在线接口用于模拟所述摄像头模拟器在线与所述被测服务器进行通信;
所述设备真实在线接口采用异步IO机制,且所述设备真实在线接口内部的操作以协程的形式注册到事件循环中。
6.根据权利要求5所述的方法,其特征在于,所述测试执行过程中,通过所述负载机的各个线程对应的摄像头模拟器生成模拟视频流数据包并发送至所述被测服务器,包括:
所述摄像头模拟器调用测试数据生成器和和目封装器生成模拟视频流数据包,并将所述模拟视频流数据包存入环性队列的缓存区;
从所述缓存区顺序取出所述模拟视频流数据包,并发送至所述被测服务器;
其中,缓存区中数据包的输入和输出采用异步IO机制。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述缓存区写满的情况下,丢弃部分待存入缓存区的模拟视频流数据包,并在丢弃的模拟视频流数据包的个数记录至所述运行日志。
8.根据权利要求6所述的方法,其特征在于,测试执行过程中,所述方法还包括:
向所述被测服务器发送心跳报文,并将心跳报文的发送次数记录至所述运行日志。
9.根据权利要求6所述的方法,其特征在于,测试执行过程中,所述方法还包括:
接收被测服务器反馈的数据,并对接收到的数据进行解析;
根据解析结果执行相应操作。
10.一种视频监控平台的性能测试装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;其特征在于,所述处理器执行所述程序时实现如权利要求4-9任一项所述的视频监控平台的性能测试方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求4-9任一项所述的视频监控平台的性能测试方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911264794.1A CN112954300B (zh) | 2019-12-11 | 2019-12-11 | 视频监控平台的性能测试装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911264794.1A CN112954300B (zh) | 2019-12-11 | 2019-12-11 | 视频监控平台的性能测试装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112954300A CN112954300A (zh) | 2021-06-11 |
CN112954300B true CN112954300B (zh) | 2023-04-11 |
Family
ID=76226290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911264794.1A Active CN112954300B (zh) | 2019-12-11 | 2019-12-11 | 视频监控平台的性能测试装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112954300B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113641576B (zh) * | 2021-08-09 | 2024-06-04 | 北京金山云网络技术有限公司 | 数据库的测试方法、装置及终端设备 |
CN113905197A (zh) * | 2021-09-29 | 2022-01-07 | 深圳市天视通视觉有限公司 | 一种网络录像机拷机装置及系统 |
CN114944998B (zh) * | 2022-03-14 | 2023-06-20 | 华南理工大学 | 基于模拟器的物联网系统测试方法及装置 |
CN116074555B (zh) * | 2022-12-23 | 2024-06-07 | 天翼云科技有限公司 | 一种云边架构视频监控平台的全链路性能测试方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105490876A (zh) * | 2015-11-26 | 2016-04-13 | 上海斐讯数据通信技术有限公司 | 发包联动并发监控自动化测试服务器性能的方法 |
CN105550088A (zh) * | 2015-12-04 | 2016-05-04 | 上海斐讯数据通信技术有限公司 | 自动化测试方法及自动化测试系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7154533B2 (en) * | 2001-10-30 | 2006-12-26 | Tandberg Telecom As | System and method for monitoring and diagnosis of video network performance |
JP2003140988A (ja) * | 2001-10-30 | 2003-05-16 | Ando Electric Co Ltd | 動画配信サーバ負荷試験装置 |
CN101882105B (zh) * | 2010-06-01 | 2013-05-08 | 华南理工大学 | 一种测试Web网页并发环境下响应时间的方法 |
CN104185018B (zh) * | 2013-06-20 | 2016-06-01 | 四川电力科学研究院 | 用于视频监控系统测试的网络摄像机模拟装置及测试方法 |
CN109525449B (zh) * | 2017-09-18 | 2021-10-22 | 中国科学院上海高等研究院 | 一种视频服务器的用户承载能力测试系统及测试方法 |
CN108270622A (zh) * | 2018-01-22 | 2018-07-10 | 杭州当虹科技有限公司 | 一种对视频通讯服务系统进行并发仿真测试的方法及系统 |
-
2019
- 2019-12-11 CN CN201911264794.1A patent/CN112954300B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105490876A (zh) * | 2015-11-26 | 2016-04-13 | 上海斐讯数据通信技术有限公司 | 发包联动并发监控自动化测试服务器性能的方法 |
CN105550088A (zh) * | 2015-12-04 | 2016-05-04 | 上海斐讯数据通信技术有限公司 | 自动化测试方法及自动化测试系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112954300A (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112954300B (zh) | 视频监控平台的性能测试装置及方法 | |
US6845352B1 (en) | Framework for flexible and scalable real-time traffic emulation for packet switched networks | |
US5440719A (en) | Method simulating data traffic on network in accordance with a client/sewer paradigm | |
CN105446860B (zh) | 基于异步并发机制的压力测试系统和测试方法 | |
Chung et al. | NS by Example | |
US20030105604A1 (en) | Real-time streaming media measurement system and method | |
CN107040549A (zh) | 一种tcp粘包处理方法、服务器及系统 | |
CN113518012B (zh) | 一种分布式协同流量仿真环境构建方法及系统 | |
CN111917750B (zh) | 一种仿真通信网与仿真电网的数据交互方法及接口 | |
CN108600034A (zh) | 业务压力管理方法、装置、设备、系统及存储介质 | |
CN110019386A (zh) | 一种流数据处理方法及设备 | |
WO2024125106A1 (zh) | 数据传输方法、装置、设备及存储介质 | |
CN111949521B (zh) | 软件性能测试方法及装置 | |
CN106945045A (zh) | 基于ros和orocos的机器人控制的通信方法和系统 | |
CN104283741B (zh) | 精确检测大流老化的方法及装置 | |
CN109788251A (zh) | 视频处理方法、装置及存储介质 | |
CN116107913B (zh) | 单节点服务器的测试控制方法、装置及系统 | |
WO2023197498A1 (zh) | 操作维护管理信息处理方法、网络节点和存储介质 | |
CN115549862B (zh) | 基于动态解析的mes系统并发性能测试数据接收方法 | |
KR101968575B1 (ko) | 실시간 병목 자동 분석 방법 및 이러한 방법을 수행하는 장치 | |
WO2015176516A1 (zh) | 一种业务流程的跟踪方法及装置 | |
CN107104997A (zh) | 一种重定向方法、终端及系统 | |
CN113630280B (zh) | 一种分布式协同仿真运行平台 | |
CN105978706A (zh) | 一种网络流量的联动审计设备和方法 | |
CN109862023A (zh) | 一种嵌入式设备实现加速计算和高速网络数据传输方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |