number of users supported by the Kurento Room Demo

Skip to first unread message

ya...@streaminggalicia.com

unread,
Mar 21, 2016, 12:01:05 PM3/21/16
to kurento
Hi,

I was wondering if there is any test in the Kurento Room Demo project that could be used to measure the number of users supported by the system.
My idea is to simulate a scenario with many users connected via WebRTC to the application.

Thank you

Ivan Gracia

unread,
Mar 23, 2016, 5:12:54 AM3/23/16
to Kurento Public
Perhaps you could use this one. Have a look in that test project, and you are bound to find something, or just get the hang on how we create tests, in order to replicate those.

Ivan Gracia



--
You received this message because you are subscribed to the Google Groups "kurento" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kurento+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Message has been deleted

ya...@streaminggalicia.com

unread,
Apr 9, 2016, 9:14:30 AM4/9/16
to kurento
I am using an older version of the Kurento Room so I am using the attached test.

When I run the test the output in the console is the attached "output.txt" file.

Could anyone help me?

Thanks.
FakeWRUsersExtraKMSOneRoom.java
output.txt

Ivan Gracia

unread,
Apr 11, 2016, 2:41:26 PM4/11/16
to Kurento Public
It looks like you forgot to create the room before joining in.

Ivan Gracia



--

ya...@streaminggalicia.com

unread,
Apr 18, 2016, 1:38:48 PM4/18/16
to kurento
Thanks, but now it shows the error in the attached file. Do you know how to solve it?
Error.txt

Ivan Gracia

unread,
Apr 19, 2016, 4:22:42 AM4/19/16
to Kurento Public

Looks like it can’t connect to the room server

Caused by: org.kurento.commons.exception.KurentoException:  Timeout of 15000ms when waiting to connect to Websocket server ws://127.0.0.1:8080/room

I think you are trying to run the tests, right? You can skip them with -DskipTests.


Ivan Gracia



On Mon, Apr 18, 2016 at 7:38 PM, <ya...@streaminggalicia.com> wrote:
Thanks, but now it shows the error in the attached file. Do you know how to solve it?

--

ya...@streaminggalicia.com

unread,
Apr 19, 2016, 2:09:53 PM4/19/16
to kurento
Yes, I'm trying to run the test to estimate the maximum number of users the Kurento-room-demo supports. I'm interested in knowing this number. 

Do you know any other method to achieve it?

Ivan Gracia

unread,
Apr 19, 2016, 2:54:53 PM4/19/16
to Kurento Public, Radu Tom Vlad
Perhaps Radu can give you a hand here.

@Radu, do you know what might be happening? Yago is trying to make a load test, based on the room tests.

Ivan Gracia



On Tue, Apr 19, 2016 at 8:09 PM, <ya...@streaminggalicia.com> wrote:
Yes, I'm trying to run the test to estimate the maximum number of users the Kurento-room-demo supports. I'm interested in knowing this number. 

Do you know any other method to achieve it?

--

Radu Tom Vlad

unread,
Apr 20, 2016, 3:42:14 AM4/20/16
to kurento, rv...@naevatec.com
Hi, from the last attachment it seems that the Room Demo app isn't starting correctly by the test setup. Please specify the commit's hash for the code that you're trying to benchmark so that I can look into it.. Also, can you rerun the test with the log level of 'org.kurento.room' set to DEBUG?

The maximum number of concurrent users for a WebRTC room-type application depends on many conditions such as hardware configuration and system load (both on the server as on the clients), network bandwidth and latency, etc.. Even though the test you're trying to run could give you an approximate on the number of supported users in a room, I'd still test it under real-world conditions (e.g. invite a bunch of people from different geographic locations and with different network access to join your room).

Please note that the demo application is just that, a demo, so high concurrency wasn't a major factor during its development phase. 

As a last thought, we'd appreciate a lot if you reported any additional bugs encountered during your tests.

Best regards,
Radu

ya...@streaminggalicia.com

unread,
Apr 20, 2016, 10:29:30 AM4/20/16
to kurento, rv...@naevatec.com
Thank you both for the quickly response and for the information.

I just rerun the test with the log level of 'org.kurento.room' set to DEBUG and I think the output (in the attached file) is the same than in the other case.

Regarding this: "Please specify the commit's hash for the code that you're trying to benchmark so that I can look into it.". Where is the information you are asking me for?
error_1.txt

Radu Tom Vlad

unread,
Apr 20, 2016, 10:40:11 AM4/20/16
to kurento, rv...@naevatec.com, ya...@streaminggalicia.com
Hmm it's kinda strange that the log didn't change.. Have you set the log level in the log4j config file from the test project's src/test/resources?

The commit hash for your current revision (HEAD) can be obtained like this:
git rev-parse HEAD

ya...@streaminggalicia.com

unread,
Apr 20, 2016, 11:09:25 AM4/20/16
to kurento, rv...@naevatec.com, ya...@streaminggalicia.com
Yes, I have set the log level in the log4j config file from the test project's src/test/resources. I attach an image of the log configuration.

The command 'git rev-parse HEAD' run under the kurento-room folder shows this output:

e74ebe675c3e41188bc47c873536efbdca1dbbc7
 
logconf.png

Radu Tom Vlad

unread,
Apr 21, 2016, 9:50:33 AM4/21/16
to kurento, rv...@naevatec.com, ya...@streaminggalicia.com
I'm sorry but I can't seem to be able to find the commit by the hash that you've indicated.. Could you please run git log and copy the first lines of the resulting output?
Message has been deleted

ya...@streaminggalicia.com

unread,
Apr 21, 2016, 10:03:43 AM4/21/16
to kurento, rv...@naevatec.com, ya...@streaminggalicia.com
Well, I've downloaded again the Kurento-Room-6.2.0 and it works.

I've run this test with only two users to check wether the room works or not. The test could be run with different number of users so how can I figure out the maximum number?

I attach the output for two users.
test.txt

Radu Tom Vlad

unread,
Apr 21, 2016, 10:25:32 AM4/21/16
to kurento, rv...@naevatec.com, ya...@streaminggalicia.com
I'm glad that solved it for you. You could try to configure more fake users in order to get to the max supported user sessions.
You have to take into account that the KMS used by these users (kurento.test.fake.kmsUri) can quickly become the bottleneck of the whole system once you start adding more and more users. It's advisable for it to point to a separate KMS instance (from the one used by the room demo) and you could also modify the test in order to distribute the fake users onto several KMS instances.

ya...@streaminggalicia.com

unread,
Apr 21, 2016, 2:13:11 PM4/21/16
to kurento, rv...@naevatec.com, ya...@streaminggalicia.com
Thanks for your help.

I have another question related to that. Do you know which parameters of the wertc-internals may indicate a degrade in the videoconferencing quality? There are a lot of parameters. I guess the RTT and the lost packets are some of them but I want to know the others if it is possible. I'm also interesting in the range this values have to take in order to perform a good quality videoconferencing.

I attach two images for both the audio and video stats of the sender.

Thank you all


video.PNG
audio.PNG

Radu Tom Vlad

unread,
Apr 22, 2016, 3:48:23 AM4/22/16
to kurento, rv...@naevatec.com, ya...@streaminggalicia.com
Hi again, I'm not really sure which of these params are most suitable for your analysis.. I think packetsLost or bitsSentPerSecond would let you know if you have drops in the network traffic that then might translate into a quality degradation of the video or audio stream. If you want more specific details I'd consult with the WebRTC groups like discuss-webrtc, they could provide additional info.

Regards,
Radu

ya...@streaminggalicia.com

unread,
May 8, 2016, 6:26:48 PM5/8/16
to kurento, rv...@naevatec.com, ya...@streaminggalicia.com
Thank you. I have another question. Has the KMS to be set up in the same machine that runs the test?

The test works fine when I run it in one machine which has the KMS set up. On the flip side, when I uncomment the property kmsUri as follows:

  "test": {
         "fake": {
           "kmsUri": "ws://<kms_ip>:8888/kurento",
            "wr": {
               //absolute path on the KMS's machine or http resource
               //"files": "/tmp",

               //readable by the user that runs KMS (default is nobody:nogroup)
               //"filenames": []
            }
         },

And set it to a remote machine the test does not work anymore.

Regards,
Yago

Radu Tom Vlad

unread,
May 9, 2016, 2:30:58 AM5/9/16
to kurento, rv...@naevatec.com, ya...@streaminggalicia.com
Hi, I'm pretty sure this was working before. Are there any errors when running the test(s)? 

PS make sure the file that the FakeParticipant is loading in the PlayerEndpoint is located on the same machine as the new media server and that the KMS process can read it.
Message has been deleted

ya...@streaminggalicia.com

unread,
May 12, 2016, 6:18:26 AM5/12/16
to kurento, rv...@naevatec.com
Thank you! You pointed me in the rigth way. It was a permission issue.

Regards,
Yago

Hemanshu Belani

unread,
May 24, 2016, 3:04:58 AM5/24/16
to kurento, ya...@streaminggalicia.com

So what was the max number of participants supported??

Ivan Gracia

unread,
May 24, 2016, 4:12:02 AM5/24/16
to Kurento Public, ya...@streaminggalicia.com
That depends on the server you are using to host your KMS instance. The bigger the server, the more users it will support.

Ivan Gracia



--

Hemanshu Belani

unread,
May 24, 2016, 7:35:50 AM5/24/16
to kurento, ya...@streaminggalicia.com
Thanks Ivan,

For testing purpose I'm using AWS t2.micro having 1 GB RAM & single core, but i'm still not able to figure out the maximum number of participants per call.
I tested with 6 people.

Ivan Gracia

unread,
May 24, 2016, 2:55:39 PM5/24/16
to Kurento Public, ya...@streaminggalicia.com
I don't think you'll be able to go much higher. Give it a try! It depends a lot on quality of video, too.

Ivan Gracia


vijay krishna

unread,
May 19, 2017, 5:53:37 PM5/19/17
to kurento, ya...@streaminggalicia.com
Hi Ivan,

I am using kurento-room for conference calls.Well the issue is when i have 6-7 users i am getting request timeout on browser end for messages(publishVideo,receiveVideo) .Sure, Changing requestTimeout from 15 seconds to 20-30 seconds solves my problem.But it is really awful to wait for a response for 30 seconds and this issue isn't because of server load or browser load.It appears that my messages(publishVideo/receiveVideo) are taking 12-15 seconds just to reach the kurento-room client (I checked by adding logs) while those messages are sent to jsonrpcclient (js) right away.I am assuming it isn't entirely due to browser load . I am assuming jsonrpcclient(js) is holding(queueing) messages before sending to client(backend). 

Can you shed some light on what is exactly happening here and how i can optimise it .

chapin

unread,
May 19, 2017, 10:47:09 PM5/19/17
to kurento, ya...@streaminggalicia.com
I suggest you try this project: 

kurento-benchmark


The original is: 


在 2016年3月22日星期二 UTC+8上午12:01:05,ya...@streaminggalicia.com写道:
Reply all
Reply to author
Forward
0 new messages