IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> webrtc服务器压测工具使用 -> 正文阅读

[开发测试]webrtc服务器压测工具使用

??主要介绍3个开源的webrtc压力测试框架–kite,pion及srs_bench,以janus服务器为例。

1、KITE

?? KITE整合了Selenium和Aullure。Selenium 是一个开源的浏览器自动化框架,支持集群化(grids),不同的节点可以运行不同的操作系统类型/版本、浏览器类型/版本,这样我们就可以在各种操作系统和浏览器的组合下自动化测试 Web 应用了。Allure 则是一个开源的测试报告工具,用来展示测试结果。有开源版本也有商用版本。

重要特征:

  • 支持linux、windows,mac,ios及android平台,也支持所有的浏览器;

  • 支持Jisti、janus、Kurento/openvidu、Mediasoup、Medooze (Simulcast demo) 服务器;

  • 使用java或Javascript语音作为测试脚本开发语音;

注意:

《1》、安装时注意现有系统上使用的浏览器版本及其对应的驱动版本需要对应,否则会失败。谷歌浏览器查找对应版本的官方方法如下。
在这里插入图片描述

《2》、默认一个janus 视频会议只支持6个测试实例,需要更改配置文件及相应的脚本语言,不熟悉的情况下可以根据第一次运行的log中找到关键信息然后用egrep在测试用例中找对应的代码。(因为写的时候没有那个环境了所以就不列举了。)

《3》、需要使用KITE-Sample-Tests来测试我们的janus,这份sample里有多款webrtc服务器的初级测试脚本;

《4》、如果使用https模式且使用自己生成的证书,需要在sample对应webrtc服务文件夹下的config配置文件中添加浏览器启动参数,谷歌浏览器需添加"–ignore-certificate-errors",可以往KITE-master\localGrid\chrome\startNode中添加该参数(该文件在KITE成功安装后才有),也可以在config文件中添加。其它浏览器没使用过暂时没研究。

《5》、如果想节省移动资源可以把config文件中的headless的值设置为true,如下。这样它测试时就不会打开浏览器,但是编解码还是会有,省下浏览器那些许的资源开销。
在这里插入图片描述

《6》、如果浏览器驱动安装对了,然后按照github官方步骤就能跑起来,然后输出结果,可是也有时候显示测试已经pass但是实际并没有成功启动测试的(之所以知道没成功启动是因为headless为false情况下,浏览器没有启动起来,然后cpu也并没有正常测试时那么高的占用率。)正常起来压力测试的浏览器界面:

优点:多平台,多浏览器支持,测试结果一目了然,有简易测试报告;
缺点:需要进行视频的编解码,非常占用资源,一般机器十几路视频就卡死;

2、poin

??poin其实只是go语言实现的一套webrtc API不能算测试框架,但是其example里面有一个针对janus服务的实现,稍微修改一下就可以拿来做压力测试,而且要介绍的第三个压测工具是基于该框架实现的,这里面一些ICE配置可以参考。 使用wwebsock作为信令通信工具。没使用过所以只是稍微提一下它的潜力。

3、srs-bench

??srs流媒体服务器写的压测工具,基于poin框架,需要切换到其rtc分支。和kite一样都是读取同一个本地文件推流。
重要特征:

  • 支持linux、windows及mac;
  • 只推流或拉流,不消耗cpu及内存资源;

??按照github主页编译出来后即可使用,信令通信方式为http,若要修改为https只需要简单修改源码在编译即可,未实现turn服务器通信这一步但是可以参考pion很快写出这部分逻辑(不到10行代码)。命令行操作简单明了。
??推流后打开浏览器进入房间可看到推的流,需要注意房间人数上限和你推流数量,超过最大限制的话web端进入不了房间。

4、参考
《1》、谷歌驱动版本下载
《2》、KITE github地址
《3》、KITE测试用例地址
《4》、python的selenium的带https安全隐私问题解决方案
《5》、pion框架
《6》、pion_example
《7》、srs-bench

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-08-08 11:51:54  更:2021-08-08 11:52:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 20:41:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码