To test your Jitsi-Meet Performance there are many differnt ways to perform a perfomance test.
The best way is to test choosing a browser based test, but it´s not that easy to find some collegues or friend to test you jitsi-meet server in a propper way.
So we build up a new test environment which also works with jwt authentication. This is not working in a lot of other jitsi-torture tests. You can als add bots to your conference which you are already in.
So first we need to install docker and docker-composer on our server. We recommend to use a linux server, not windows, because the torture test will take a lot of performance. We take some steps from the original post https://meetrix.io/blog/webrtc/jitsi/jitsi-meet-load-testing.html
We create a fork with some changes to trigger specific urls including JWT. You can use clone this repository to perform the test. https://github.com/holema/jitsi-meet-torture
In the first step, you have to clone the repository on our local host and jump into the directory
mkdir /tmp/jitsi-torture && cd /tmp/jitsi-torture git clone https://github.com/holema/jitsi-meet-torture.git cd jitsi-meet-torture
This can take some while bcause we deliver all the sounds and videos for the test.
When cloning the repository is finished we have to build the special docker image we use for the test. You need to have docker and docker-compose installed on the host. This depends on you OS and is not descriped here.
After installing Docker Compose on your system run docker build to build the custom image
This command will build a new docker image which is used to setup the test with docker.
For setting up the test infrastructure, it important to understand, that every docker container creates one participant which will later join the conference. So you have to create as many docker containers as you want. Here we work with two docker container
docker-compose up -d --scale node=<AMOUNT OF NODES>
This will now download the rest of the images wich are shown in the image above.
After this step, the infrastructure is ready and you can start the tests inside the containers.
When your setup is created correctly you can start with testing and torture your jitsi-meet server. To perform a test you first check if your infrastructure is up.
To see all your running docker container enter:
The output should be something like this with all your containers listed with a number (postfix).
When all your conatiners show the Status UP you can start.
Here you just type the following command:
docker exec jitsi-meet-torture_torture_1 ./scripts/malleus.sh --conferences=1 --participants=<AMOUNT OF PARTICIPANTS> --senders=<AMOUNT OF VIDEOS STREAMS> --audio-senders=<AMOUNT OF AUDIO STREAMS> --duration=<DURATION IN SEC> --room-name-prefix= --hub-url=http://hub:4444/wd/hub --instance-url=<ENTER HERE YOUR JITSI CONFERENCE URL ALSO WITH JWT IF YOU USE ONE>
This will now start the Torture test agains the configured URL.
Here you can see a room which is protected with a JWT token and the torture video streams.
To shutdown the complete infrastructure enter the following command:
You need a lot of CPU, Memory, and Network Ressources to performe the tests. Otherwise, your test infrastructure will collape and will not test the performance of your Jitsi Meet Server.
If you have questions or need support with testing the performance of your Jitsi Meet Server, you can send us an Email.
Benötigen Sie Unterstützung bei Ihrer Transformation?
Zögern Sie nicht mit uns Kontakt aufzunehmen.