Performance of VideoRoom plugin

524 views
Skip to first unread message

Igor Khomenko

unread,
Nov 23, 2016, 5:00:22 AM11/23/16
to meetecho-janus
Hi everybody, 

I'm evaluating Janus Video Room plugin and checking how much resources does it need

I this stage I have some poor results

  • We installed Janus on AWS EC2 c4.large instance (2 vCPU, 8 ECU, 3.75 RAM)
  • disabled logs (debug_level = 0 )
  • disabled other plugins

    [plugins]

    disable = libjanus_recordplay.so,libjanus_audiobridge.so,libjanus_echotest.so,libjanus_sip.so,libjanus_textroom.so,libjanus_videocall.so,libjanus_voicemail.so

  • use WebSockets for signaling 
  • created demo room for 12 people:

    [1234]

    description = Demo Room

    secret = adminpwd

    publishers = 12

    bitrate = 128000

    fir_freq = 10

    ;audiocodec = opus

    ;videocodec = vp8

    record = false

    ;rec_dir = /tmp/janus-videoroom

Only 6 people are connected to room and CPU load is 100%
Here is our htop: http://image.quickblox.com/2b123baa45327ecf79c90847fd82.injoit.png

6 people only in room: http://image.quickblox.com/cd4ee77218adb35b9eb54dd6958d.injoit.png

Is it normal behaviour for Video Room plugin?
Or how we can improve it?




Mirko Brankovic

unread,
Nov 23, 2016, 5:27:29 AM11/23/16
to Igor Khomenko, meetecho-janus
Hi,

Are you using amazon cloud for this test, or some other?

Here is a quick test on a physical server with 6 participants:

Then I added more, but I didn't lift the limit of 6 so all other tabs were just receiving 6 streams


and the cpu stayed at 28%-33% constantly

I have debug=7 and few plugins and transports enabled, like rabbitmq sip gateway,....

Maybe you should try it on dedicated server ?

MIrko

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



--
Regards,
Mirko

Mirko Brankovic

unread,
Nov 23, 2016, 5:31:41 AM11/23/16
to meetecho-janus
I had a similar problem when I tested other software on Amazon aws, basicly the top returned the usage of host CPU and not my containered machine. 

Igor Khomenko

unread,
Nov 23, 2016, 5:33:20 AM11/23/16
to meetecho-janus, ig...@quickblox.com
Yes, we installed Janus on our own Amazon AWS server (EC2 c4.large instance with 2 vCPU, 8 ECU, 3.75 RAM)

In your example, you have 24 cores server

I'm a bit confused here, do we need also 24 cores server to support just 6 people in a single room? 

Mirko Brankovic

unread,
Nov 23, 2016, 5:35:35 AM11/23/16
to Igor Khomenko, meetecho-janus
no, just I would take AWS with reserve :D

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



--
Regards,
Mirko

Igor Khomenko

unread,
Nov 23, 2016, 5:39:22 AM11/23/16
to meetecho-janus
From my understanding, 
6 people in a single room is very simple task and should not consume a lot of resources.

AWS EC2 c4.large instance (2 vCPU, 8 ECU, 3.75 RAM) is more-or-less normal shape for this task I believe.

So need more feedback here

Kaplan

unread,
Nov 24, 2016, 12:08:29 PM11/24/16
to meetecho-janus
I got a 200+ person video room , with less than 20% CPU utilization on an 8 core dedicated server (debian 64 bit)/
The video room, just forwards media, so its very efficient...

Igor Khomenko

unread,
Nov 25, 2016, 7:10:33 AM11/25/16
to meetecho-janus
was it 200 publishers? 

Igor Khomenko

unread,
Nov 25, 2016, 10:57:50 AM11/25/16
to meetecho-janus
What I need is to have a room with 10 publishers

and have for example 20 concurrent rooms

Any thoughts on server size I need ?

Igor Khomenko

unread,
Nov 28, 2016, 3:24:30 AM11/28/16
to meetecho-janus
Does anybody have any thoughts?

I'm just trying to understand is it normal behavior that AWS EC2 c4.large instance (2 vCPU, 8 ECU, 3.75 RAM) can handle only 1 room with 6 participants

or we just missed something with Janus configuration?

Lorenzo Miniero

unread,
Nov 28, 2016, 4:56:12 AM11/28/16
to meetecho-janus
You probably are using a poor network profile on AWS, which causes performance to sink, or more simply the network configuration is not done properly (e.g., security group too constraining for WebRTC usage). Make sure you're using enhanced networking or something like that (not an expert of AWS).

L.

Igor Khomenko

unread,
Nov 28, 2016, 6:47:02 AM11/28/16
to meetecho-janus
Thanks Lorenzo,

any hints what exactly should we check?
You mean some specific TCP/UPD ports or something like that? 

Lorenzo Miniero

unread,
Nov 28, 2016, 6:50:30 AM11/28/16
to meetecho-janus
No, I'm talking about something like this:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html

Again, not an expert on that stuff, but I do remember it helped us in the past, as the default networking in AWS kinda sucks for realtime media. I'll leave it to somebody else to go into the details or provide you with more feedback/help on that.

L.

Igor Khomenko

unread,
Nov 28, 2016, 7:59:45 AM11/28/16
to meetecho-janus
Ok thanks, I will check this

so you think that our issue is with AWS settings and Janus should handle more users/rooms on this server's shape, right? 

Igor Khomenko

unread,
Dec 1, 2016, 8:29:12 AM12/1/16
to meetecho-janus
that seems to work much better, only 5-10% CPU load, great!

in parallel, looks like we have found one case (bug?) where CPU goes crazy to 100%
Let's say we have 3 or 6 or 12 (does not matter) people in a room. Everything works good.
Next, a user without camera and microphone (just desktop computer, no camera, no microphone) enters this room.
After this, we see CPU goes crazy to 100% load

here are 2 screenshots to show this
http://image.quickblox.com/e03c4ff904f42fbb616854b82e6c.injoit.png
http://image.quickblox.com/e1e7f2918144b300603a348c850a.injoit.png

any ideas why it can happen? 

Mirko Brankovic

unread,
Dec 1, 2016, 9:31:20 AM12/1/16
to meetecho-janus
I guess you shouldn't do the publish from the user that doesn't have stream ready (webrtcup), is that only a listener?

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



--
Regards,
Mirko

Lorenzo Miniero

unread,
Dec 1, 2016, 10:17:24 AM12/1/16
to meetecho-janus
I agree that the application should work around that. That said, if the behaviour is as he described it's a bug anyway. If you have simple and reliable steps to replicate, please open an issue on github and describe how to do that.

L.

Igor Khomenko

unread,
Dec 2, 2016, 4:19:23 AM12/2/16
to meetecho-janus
Opened an issue
https://github.com/meetecho/janus-gateway/issues/698

well, the video room sample does not block that user because he has microphone enabled, but no camera, so his stream is OK
To unsubscribe from this group and stop receiving emails from it, send an email to meetecho-janu...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Regards,
Mirko

Lorenzo Miniero

unread,
Dec 2, 2016, 5:22:14 AM12/2/16
to meetecho-janus
Tnx, we'll look into this.

L.
Reply all
Reply to author
Forward
0 new messages