wildyeast / sadiss

A socially aggregated distributed sound system.
GNU Affero General Public License v3.0
10 stars 2 forks source link

How much strain is put on networks (e.g. WIFI) when sending data to many clients via WebSockets simultaneously #55

Closed matbind closed 1 year ago

matbind commented 1 year ago

How many clients can a given WIFI network handle at the same time? What does this depend on? Can we tell beforehand, without testing? Would it be easier on the network if we spread out the sending of data over the full second we have got available?

wildyeast commented 1 year ago

Household routers have a maximum number of devices that can be connected. The number is usually 16 or 32 (for example TL-MR6400), but no more than 256. This means that unless a venue has a dedicated wifi system for exactly our kind of applications, we are limited to a very low number of clients.

I've just measured the output of SADISS server with a few of Volkmar's current tracks: 1.47 Mbit/s max (525 kbit/s avg). I only used one device for testing, but I think that there is a lot of headroom before we reach the limit of mainstream routers, which is 300 Mbit/s. During the next performance I will monitor the bandwidth in real-time for us to do some realistic estimates.

wildyeast commented 1 year ago

During yesterday's performance with Volkmar's two pieces we collected the following data:

receiving: 113 kbit/s max. transmitting: 4 Mbit/s max.

A maximum of 1 Gbit/s ist possible on the Hetzner VM the server is currently running on. This means that the horizontal complexity (the amount of sonic information being broadcast within one second) can increase by 250 times before the limit is reached.

It should be trivial to calculate the maximum bandwidth of a single chunk. See https://github.com/wildyeast/sadiss/issues/64