HI! I'm currently running a really tiny setup on limited hardware in a VM. Is there an estimation or some experience how much RAM would be sufficient for 10 users in one group with normal send band-width (only video and audio without screen-sharing)? Ciao, Michael.
> Is there an estimation or some experience how much RAM would be sufficient
It's difficult to estimate — the buffers are allocated dynamically, both
in Galène and in Pion, so the memory will depend on the RTT and on the
amount of packet loss.
Please try it and let us know your results.
-- Juliusz
On 12/28/20 7:51 PM, Juliusz Chroboczek wrote: >> Is there an estimation or some experience how much RAM would be sufficient > > It's difficult to estimate — the buffers are allocated dynamically, both > in Galène and in Pion, so the memory will depend on the RTT and on the > amount of packet loss. I somewhat expected this answer. I guess asking for this number *after* system was running into hard memory pressure was the wrong approach at my side. ;-) > Please try it and let us know your results. If everything's running fine the memory footprint per user on Linux x86_64 seems to be fairly low (10..15 MB/user with send "lowest".."low"). But I can't provide more exact numbers because I currently only have 7-8 producers and consumers in one group (while TURN server is relaying 10..11 MBit/sec). Nowhere near a serious performance test. All in all: Many thanks for providing galene! - The performance seems to be pretty good (means constant) even on my insanely small hardware. - Setup also is fairly easy. - And while the UI is a bit different from what users are used to with other systems they have no problem to get into a normal video-conference. Ciao, Michael.
> I guess asking for this number *after* system was running into hard > memory pressure was the wrong approach at my side. ;-) Here's a list of things that could be done to reduce Galène's memory usage even further: - tweak the size of Galène packet cache, https://github.com/jech/galene/blob/master/rtpconn/rtpconn.go#L1139 - play with the GOGC environment variable, for example GOGC=40 ./galene - fix these issues: https://github.com/golang/go/issues/39365 https://github.com/pion/srtp/pull/77 - avoid having multiple goroutines for RTCP senders (the Ion-SFU guys are experimenting with this approach). -- Juliusz