What are the limiting factors for number of subscribers and publishers

Other than bandwidth what are the limiting factors(memory and cpu) for scaling subscribers and publishers.

  1. Does memory and CPU need to scale linearly with number of publishers.
  2. Is it same for subscribers or different.
  3. How much memory is needed per subscriber/publisher.

Hi,

I suggest you checking for previous questions about this topic in the forum which have interesting information.

  1. The required CPU will be according to the RTP received from a Producer. It’s not the same receiving an audio or video stream, a single or multiple streams (simulcast), etc.

  2. Consumers take more memory due to the retransmission buffer.

For exact numbers I would suggest you run the demo environment yourself, or another of your own, test and check it there.

1.For publishers, you can fill presumably half a v-core up and re-transmit these signals a single time and not use 1GB of ram. But as a recommended answer you should have 1GB per vcore and a minimum of 512MB per, less would maybe give you a hard-time depending.

  1. Absolutely the same! Just know it fills up faster, 1 broadcaster sharing to 11 users is one thing 2 broadcasters to 11 users doubled your usage and it took one person broadcasting.
    So with consumers filling up faster with viewers you run more additionally to your producer, so in a 4vcore maybe 1 producer to 3 consumers but run your numbers before configuring for something like that.

  2. Couple MB for the stored data in the application, Couple MB from re-transmission per user which won’t add up substantially it’s really low. Beyond that if you run process managing apps a few MB there as well.

I generally sit at 1-10% of 1GB on 1vcore heavy use.


The take away here, forget ram, make sure you’re using your cores. Worry less about thee publisher server and focus on how you’ll combat this consumer server filling right up in seconds. :wink: