I am having some trouble in figuring out how many maximum connections are possible from ActionCable to our Redis instance.
I am investigating this because we get this ERR max number of clients reached error on Heroku whenever connections on Redis cross over 40.
I saw that ActionCable has around 11 or even 15 connections sometimes when I do CLIENT LIST on Redis CLI.
This is our configuration:
Heroku Web Dynos - 4Puma Workers - 2 (per dyno)Puma Threads - 5 (per Puma worker)I also tried changing config.action_cable.worker_size to 1 and reducing the Puma Threads to just 1. Even then I see around 9 connections from ActionCable to Redis.
Note that all of these ActionCable connections have a relatively small “age” and it’s not like some connection stays persistent even if I restart the dynos.
So my question is - how many maximum Redis connections can we expect from Action Cable?