Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance testing? #63

Open
subhendukundu opened this issue Jul 5, 2020 · 6 comments
Open

Performance testing? #63

subhendukundu opened this issue Jul 5, 2020 · 6 comments
Assignees
Labels
feature New feature or request security

Comments

@subhendukundu
Copy link

I am amazed with the video quality tho :) It was working with low bandwidth as well.
Now, did we do any performance testing? I mean how much bandwidth it will consume on an average? Can we control the quality, so that bandwidth can differ?
Also importantly, How are we scaling it up at the moment? How many people can join a room? How much CPU does it need to run?
I can help with Kubernetes if not done already. :)

@holtwick
Copy link
Owner

holtwick commented Jul 5, 2020

@subhendukundu any help would be very welcome! Thanks for your offer.

Initially I did some optimizations by modifying the SDP info. https://github.com/holtwick/briefing/blob/master/app/src/logic/connection.js#L87 But it looks like the browsers are negotiating perfect values anyway themselves.

The maximum user count depends on bandwith and CPU. I guess 12 is a maximum value. If audio only probably more.

@subhendukundu
Copy link
Author

Gotcha!
So before I start playing around with the Kubernetes with this.

  1. What's the current size of the VM? So that I know how much it's using for 12.
  2. To make 50 or more people in the same room, TURN need to scale? or the server it self?

@holtwick
Copy link
Owner

holtwick commented Jul 8, 2020

Sorry for the late answer. Well Briefing has no central server besides signaling and STUN/TURN. The performance therefore would needed to be testes for the client side web app. TURN should only be required if no direct p2p connection is possible, which is not the case most of the time.

@subhendukundu
Copy link
Author

Gotcha! I can try to put a puppeteer test case with some load testing using different videoes with different quality trying to mock the real video call. I will see if I can pull it off.
Also, I think we should put together a design architectural diagram. It should answer a few fundamentals questions for example,

  1. Why we don't SFU, and making it totally secure (I did see the read have some part of it)?
  2. If we don't need STUN/TURN, how is performance, after testing it out?

Also, basic comparison with standard video calls vs briefing calls, in terms of

  • Security
  • Performances
  • Bandwidths Usages
  • Cost

This would clear the picture why briefing is amazing 😊. Please let me your thoughts, also how we can proceed, I will contribute.

@holtwick
Copy link
Owner

holtwick commented Jul 8, 2020

Good idea. I started some documentation in the wiki: https://github.com/holtwick/briefing/wiki

@subhendukundu
Copy link
Author

Sure! I will take a look and try to put some docs where I think I can contribute.
Can you please add up slack and projects planning on the github? So that anyone feels they can contribute then can see the open items planned for next release. Also, fro adding up apps, I am writing my flutter apps, I will try to create a pull request to this for a basic example or with a different design to this repo.

@holtwick holtwick added feature New feature or request security labels Jul 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request security
Projects
None yet
Development

No branches or pull requests

2 participants