Hola, les escribo para hacerles una consulta... Tengo una app Rails, en la cual utilizo ActionCable para la comunicación realtime. Al deployarla a producción con nginx+phussion passenger, me di cuenta que al abrir la sexta conexión, el sistema se quedaba "esperando". Ahora bien, cuando cerraba una pestaña del browser automáticamente cargaba el sistema de la que estaba "esperando".
Mirando los logs, he detectado que el problema estaba en el parámetro passenger_max_pool_size que viene por defecto seteado a 6 en una imagen que estoy utilizando. Lo cambie a 10 y ahora permite abrir hasta 10 conexiones..
Al ser la primera app donde uso web sockets, surge la pregunta respecto a este numero y el consumo de recursos por parte de la app. Haciendo un passenger-status veo un listado con entradas similares a:
* PID: 22257 Sessions: 1 Processed: 0 Uptime: 1m 17s
CPU: 4% Memory : 151M Last used: 1m 17s ago
O sea que para un cliente, esta ocupando 151M. Es decir que, por ejemplo es imposible tener 100 clientes conectados en un servidor con 2 GB RAM (compartido entre sistema y servidor nginx-passenger). Aunque leí por ahí que el consumo "no es lineal".
El promedio de memoria entre la lista es aproximadamente de 170M, es realmente eso lo que consume una app rails o estoy teniendo un leak de memoria por algún lado?
Estoy por probar unas gemas que me tiran más información respecto al consumo y memoria, pero sería de ayuda si alguien comparte su experiencia.