3
前言

jitsi音视频会议的压力测试,官方推出了一个开源框架,我们可以在开源框架的基础上做一些自己的改造,并使用selenium测试。

下载jitsi-meet-torture

jitsi-meet-torture 是jitsi官方推荐使用的压力测试工具,在此之前,官方推荐的是使用jitsi-hammer(已经弃用)。我们可以在https://github.com/jitsi/jits... 去克隆或者直接下载zip文件解压。

编译

官方的readme有一些简单的教程,比如全部测试test使用 mvn test -Djitsi-meet.instance.url="https://meet.example.com" ,指定测试类使用 `mvn test -Djitsi-meet.instance.url="https://meet.example.com" -Djitsi-meet.tests.toRun="MuteTest,TCPTest" 等等。但是我们压力测试,主要想知道我们的服务器可以承受多少房间,一个房间多少参与者,有多少参与者发出音视频等等信息。是的,通过浏览jitsi社区论坛,我发现了jitsi为我们准备了main函数。

本地安装py/selenium
安装py,selenium的过程我不再赘述,网上有很多的教程。安装好以后,需要在测试机器上面安装一个selenium-server。我这边把selenium-server的jar包放在网盘上,大家可以获取(链接: https://pan.baidu.com/s/18Hhd... 密码: no6a)然后我们使用java -jar启动selenuim-server文件。测试:http://locaclhost:4444/wd/hub,如果能出来如下结果,就是正常。
image.png

压力测试

进入jitsi-meet-torture目录,执行以下命令:

mvn \
 -Dthreadcount=1 \
-Dorg.jitsi.malleus.conferences=1 \
-Dorg.jitsi.malleus.participants=2 \
-Dorg.jitsi.malleus.senders=1 \
-Dorg.jitsi.malleus.duration=30 \
-Dorg.jitsi.malleus.room_name_prefix="mytestroom" \
-Dremote.address="http://localhost:4444/wd/hub" \
-Djitsi-meet.tests.toRun=MalleusJitsificus \
-Dremote.resource.path=/usr/share/jitsi-meet-torture \
-Djitsi-meet.instance.url=https://你的会议地址/ \
-Djitsi-meet.isRemote=true \
test

其中,conferences是会议个数,participants是每个会议的与会人数,senders是发送视频的人数,duration是持续时间,room_name_prefix是你的房间前缀,Dremote.address是你安装selenium-server的服务器地址:4444/wd/hub

好了,jitsi会开启多个浏览器,此时可以看服务器上的内存,cpu,带宽等使用情况。当然,如果想压测能力变大,可以使用分布式(负载均衡)的jvb,关于负载均衡的jvb,我这边下一个文章会介绍。


crawler
327 声望79 粉丝

专注技术多年,曾任职京东,汉得等公司主研


引用和评论

0 条评论