产品测试方案:视频接入平台并发性能测试方案和报告(即150路视频并发流媒体服务器模块的性能测试方案和报告)

news2024/11/20 14:28:24

目            录

一、测试目的:

二、测试方案:

2.1、测试思路

2.2、拓扑图

三、测试环境

3.1 服务器配置

3.2 网络摄像机列表

3.3 测试软件

四、测试流程

4.1 H.264并发测试:

4.1.1老版本srsout3.10并发测试

4.1.2 新版本srsout3.11并发测试

4.2 H.264和H.265并发测试:

4.2.1 新版本srsout3.11并发测试

五.最终结论:

5.1、旧版本srsout3.10测试统计

5.2、新版本srsout3.11测试统计

5.3、结论:


一、测试目的:

1、测试目的:查看新版本的流媒体服务器模块srsout3.11是否在150路并发及以上实现了优化。

2、适用范围:适用于适用威迪斯特视频监控平台的场景

3、测试对象:

      (1)流媒体服务器模块srsout3.10

      (2)流媒体服务器模块srsout3.11

二、测试方案:

2.1、测试思路

      (1)通过高清视频监控摄像机IPC提供高清的视频流(高码率4Mbps);

      (2)通过AS-V1000视频监控平台提供多路高清视频流(150*2路);

      (3)利用linux工具top和free,查看srsout模块对cpu和内容的占用情况。

2.2、拓扑图

        如下为拓扑图的介绍:

        (1)高清摄像机IP地址192.168.1.69(简称IPC69)和192.168.1.6.221(简称IPC221);使用千兆网线通过千兆交换机连接到测试环境中(测试环境均为千兆带宽网络)。

        (2)摄像头均通过RTSP接入AS-V1000视频监控平台(地址为192.168.1.249)中。

        (3)192.168.1.249(简称ASV249)对IPC69和IPC221的视频流进行复制,生成300路视频,然后通过级联方式将这些视频上传到视频接入网关VAG103(安装旧版本srsout3.10)和VAG191(安装旧版本srsout3.11)。

        (4)客户端电脑通过web客户端访问的方式访问VAG103平台和VAG191平台进行并发测试。

三、测试环境

3.1 服务器配置

服务器

带宽

CPU数

线程数

内存

VAG103

1000M/s

4

8

16G

VAG 191

1000M/s

4

8

16G

AVS249

1000M/s

8

16

32G

3.2 网络摄像机列表

摄像机

码率

帧率

编码格式

IPC69

4096K/bps

25

H.264

IPC103

4096K/bps

25

H.265

3.3 测试软件

测试使用软件

版本

补充说明

MobaXterm

23.0.0.5042

观察服务器参数,日志;修改配置。

四、测试流程

4.1 H.264并发测试:

4.1.1老版本srsout3.10并发测试

        测试路数:150路。

        测试时长:180分钟。

        统计方式:每30分钟统计一次,统计5次

        测试结果:150路180分钟无异常现象,无冻结,断链现象。

srsout3.10 并发测试

服务名称(次数)

CPU占比(%)

内存占比(%)

srsout(1)

30.9

1.1

srsout(2)

29.9

0.7

srsout(3)

28.9

1.5

srsout(4)

29.9

1.2

mrsout(1)

8.0

0.4

mrsout(2)

7.6

0.2

mrsout(3)

8.0

0.3

mrsout(4)

8.0

0.3

mrs平均占比

7.9

0.3

srs平均占比

29.9

1.375

4.1.2 新版本srsout3.11并发测试

        测试路数:150路。

        测试时长:180分钟。

        统计方式:每30分钟统计一次,统计5次

        测试结果:150路180分钟无异常现象,无冻结,断链现象。

新版本srsout3.11并发测试

服务名称(次数)

CPU占比(%)

内存占比(%)

srsout(1)

4.3

1.8

srsout(2)

4.3

1.8

srsout(3)

4.7

1.9

srsout(4)

3.7

1.9

mrsout(1)

13.3

0.5

mrsout(2)

14.6

0.6

mrsout(3)

14.0

0.5

mrsout(4)

10.6

0.4

mrs平均占比

13.125

0.5

srs平均占比

4.5

1.85

4.2 H.264和H.265并发测试:

4.2.1 新版本srsout3.11并发测试

        测试路数:150路(104路264和16路265的视频流)。

        测试时长:180分钟。

        统计方式:每30分钟统计一次,统计5次

        测试结果:150路180分钟无异常现象,无冻结,断链现象。

新版本srsout3.11并发测试

服务名称(次数)

CPU占比(%)

内存占比(%)

srsout(1)

5.0

0.3

srsout(2)

5.0

0.3

srsout(3)

4.3

0.3

srsout(4)

5.6

0.5

mrsout(1)

15.6

0.2

mrsout(2)

16.2

0.2

mrsout(3)

12.9

0.2

mrsout(4)

14.9

0.2

mrs平均占比

14.9

0.2

srs平均占比

4.975

0.35

五.最终结论:

5.1、旧版本srsout3.10测试统计

项目名称

类别

CPU占比(%)

内存占比(%)

150路H.264并发

mrs平均占比

7.9

0.3

srs平均占比

29.9

1.375

合计占比

37.8

1.675

5.2、新版本srsout3.11测试统计

项目名称

类别

CPU占比(%)

内存占比(%)

150路H.264并发

mrs平均占比

13.125

0.5

srs平均占比

4.5

1.85

合计占比

17.625

2.35

130路H.264 +

20路H.265并发

mrs平均占比

14.9

0.2

srs平均占比

4.975

0.35

合计占比

19.875

0.55

  

5.3、结论:

(1)新版本的srsout3.11对服务器CPU性能消耗明显降低,降低程度为25%左右;

(2)新版本的mrs对服务器CPU性能消耗增多,增幅程度为4%~5%。

(3)新版本在150路并发场景性能优化显著。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1514140.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

反无人机电子护栏:原理、算法及简单实现

随着无人机技术的快速发展,其在航拍、农业、物流等领域的应用日益广泛。然而,无人机的不规范使用也带来了安全隐患,如侵犯隐私、干扰航空秩序等。为了有效管理无人机,反无人机电子护栏技术应运而生。 目录 一、反无人机电子护栏…

代码随想录算法训练营Day46 ||leetCode 139.单词拆分 || 322. 零钱兑换 || 279.完全平方数

139.单词拆分 class Solution { public:bool wordBreak(string s, vector<string>& wordDict) {unordered_set<string> wordSet(wordDict.begin(), wordDict.end());vector<bool> dp(s.size() 1, false);dp[0] true;for (int i 1; i < s.size(); …

【Linux】-Linux下的软件商店yum工具介绍(linux和windows互传文件仅仅一个拖拽搞定!!!!)

目录 1.Linux 软件包管理器yum 1.1快速认识yum 1.2 yumz下载方式&#xff08;如何使用yum进行下载&#xff0c;注意下载一定要是root用户或者白名单用户&#xff08;可提权&#xff09;&#xff09; 1.2.1下载小工具rzsz 1.2.2 rzsz使用 1.2.2查看软件包 1.3软件的卸载 2.yum生…

Grapher教程—重建长江中下游降雨量时间变化序列

各位朋友好&#xff01;非常激动&#xff01;新学了一个科研绘图软件&#xff0c;它的大名叫“Grapher”&#xff0c;也许在科研界早已如雷贯耳&#xff0c;但在我这&#xff0c;还得是第一次遇见你&#xff01;来看看小编在老师的指导下鼓捣了三节课搞出来的图。 就问大家&…

6.Java并发编程—深入剖析Java Executors:探索创建线程的5种神奇方式

Executors快速创建线程池的方法 Java通过Executors 工厂提供了5种创建线程池的方法&#xff0c;具体方法如下 方法名描述newSingleThreadExecutor()创建一个单线程的线程池&#xff0c;该线程池中只有一个工作线程。所有任务按照提交的顺序依次执行&#xff0c;保证任务的顺序性…

Mybatis-Plus实现常规增删改操作

文章目录 3.1 MP实现插入操作3.1.1 BaseMapper定义操作方法3.1.2 代码测试 3.2 MP主键字段注解-TableId3.2.1 注解TableId介绍3.2.2 MP主键生成策略介绍3.2.3 MP常用主键生成策略3.2.4 雪花算法(了解) 3.3 普通列注解-TableField3.3.1 注解TableField作用3.3.2 代码示例 3.4.MP…

自适应差分进化算法(SaDE)和差分进化算法(DE)优化BP神经网络

自适应差分进化算法(SaDE)和差分进化算法(DE)优化BP神经网络 自适应差分进化算法(SaDE)和差分进化算法(DE)可以用于优化神经网络中的参数&#xff0c;包括神经网络的权重和偏置。在优化BP神经网络中&#xff0c;DE和SaDE可以帮助找到更好的权重和偏置的组合&#xff0c;以提高…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的交通标志识别系统详解(深度学习模型+UI界面代码+训练数据集)

摘要&#xff1a;本篇博客详细介绍了利用深度学习构建交通标志识别系统的过程&#xff0c;并提供了完整的实现代码。该系统采用了先进的YOLOv8算法&#xff0c;并与YOLOv7、YOLOv6、YOLOv5等早期版本进行了性能评估对比&#xff0c;分析了性能指标如mAP、F1 Score等。文章深入探…

4、设计模式之建造者模式(Builder)

一、什么是建造者模式 建造者模式是一种创建型设计模式&#xff0c;也叫生成器模式。 定义&#xff1a;封装一个复杂对象构造过程&#xff0c;并允许按步骤构造。 解释&#xff1a;就是将复杂对象的创建过程拆分成多个简单对象的创建过程&#xff0c;并将这些简单对象组合起来…

吴恩达机器学习-可选实验室:逻辑回归,决策边界(Logistic Regression,Decision Boundary))

文章目录 目标数据集图数据逻辑回归模型复习逻辑回归和决策边界绘图决策边界恭喜 目标 在本实验中&#xff0c;你将:绘制逻辑回归模型的决策边界。这会让你更好地理解模型的预测。 import numpy as np %matplotlib widget import matplotlib.pyplot as plt from lab_utils_co…

Python逆向:pyc字节码转py文件

一、 工具准备 反编译工具&#xff1a;pycdc.exe 十六进制编辑器&#xff1a;010editor 二、字节码文件转换 在CTF中&#xff0c;有时候会得到一串十六进制文件&#xff0c;通过010editor使用查看后&#xff0c;怀疑可能是python的字节码文件。 三、逆向反编译 将010editor得到…

【网络工程师进阶之路】BFD技术

个人名片&#xff1a;&#x1faaa; &#x1f43c;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢AI编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;落798. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&a…

第十四届蓝桥杯蜗牛

蜗牛 线性dp 目录 蜗牛 线性dp 先求到达竹竿底部的状态转移方程 求蜗牛到达第i根竹竿的传送门入口的最短时间​编辑 题目链接&#xff1a;蓝桥杯2023年第十四届省赛真题-蜗牛 - C语言网 关键在于建立数组将竹竿上的每个状态量表示出来&#xff0c;并分析出状态转移方程 in…

《详解:鸿蒙NEXT开发核心技术》

我们现在都知道鸿蒙作为一个国产的全栈自研系统&#xff0c;经过国家主推后。已经引起人们很大的关注&#xff0c;其中作为开发者来说&#xff1b;许多一线大厂已经与其华为鸿蒙展开原生应用的合作了&#xff0c;目前了解到已经有200家。而之后出现了很多的高薪鸿蒙开发岗位&am…

Unity制作马赛克效果

大家好&#xff0c;我是阿赵。   之前在玩怒之铁拳4里面&#xff0c;看到了马赛克场景转换的效果&#xff0c;觉得很有趣&#xff0c;于是也来做一下。 一、2D版本的马赛克转场效果 先看看视频效果&#xff1a; 马赛克转场 这里我是直接写shader实现的&#xff0c;我这里是把…

sqlite3——数据库——day2

今天学习了sqlite3数据库 sqlite3_open sqlite3_openint sqlite3_open(const char *filename, /* Database filename (UTF-8) */sqlite3 **ppDb /* OUT: SQLite db handle */); 功能:打开数据库文件(创建一个数据库连接) 参数:filename:数据库文件路径 ppDb:操作数…

SpringCloud Gateway 新一代网关

一、前言 接下来是开展一系列的 SpringCloud 的学习之旅&#xff0c;从传统的模块之间调用&#xff0c;一步步的升级为 SpringCloud 模块之间的调用&#xff0c;此篇文章为第六篇&#xff0c;即介绍 Gateway 新一代网关。 二、概述 2.1 Gateway 是什么 Gateway 是在 Spring 生…

前端请求到 SpringMVC 的处理流程

1. 发起请求 客户端通过 HTTP 协议向服务器发起请求。 2. 前端控制器&#xff08;DispatcherServlet&#xff09; 这个请求会先到前端控制器 DispatcherServlet&#xff0c;它是整个流程的入口点&#xff0c;负责接收请求并将其分发给相应的处理器。 3. 处理器映射&#xf…

安卓项目:app注册/登录界面设计

目录 第一步&#xff1a;设计视图xml 第二步&#xff1a;编写登录和注册逻辑代码 运行效果展示&#xff1a; 总结&#xff1a; 提前展示项目结构&#xff1a; 第一步&#xff1a;设计视图xml 在layout目录下面创建activity_login.xml和activity_main.xml文件 activity_lo…

rust学习(手动写一个线程池)

哈哈&#xff0c;主要是为了练习一下rust的语法&#xff0c;不喜勿喷。 一.Executor申明 struct AExecutor<T> {results:Arc<Mutex<HashMap<u32,T>>>, //1functions:Arc<Mutex<Vec<ATask<T>>>> //2 } 1.results&#xff1a…