Is there a maximum number of possible or advised PubSub/channel subscriptions?

What’s a reasonable upper limit for subscriptions per client in phoenix? Not sure what the capabilities are. What is the typical first symptom that you’ll notice if you are opening too many connections?

2 Likes

You can go a long way before reaching a limit…

If You mean connections as in websocket, channels are multiplexed over socket.

It should not be something to worry about :slight_smile:

The Road to 2 Million Websocket Connections in Phoenix - Phoenix Blog is pretty old but it’s still relevant.

The million dollar question though is: What are those websockets doing? This blog post helps analyze the upper limit from the perspective of just raw open sockets, but the answer to your question could be “just 1” if the socket is moving gigs per second and you’re doing tons of processing on each byte.

Speaking in very general and vague terms though: If you’re doing “simple” things and on a “reasonably sized” webserver, you could probably do tens of thousands of subscriptions without even really thinking about it. You’re more likely to need to optimize your DB querying first.

2 Likes

All makes sense, thought I don’t think I’ll have that many open connections. More wondering about the chattiness that it can support. I think I’ll cross that bridge when I come to it.

Basically was trying to decide between three options supporting newsfeed-type functionality.

  1. Having way more topics, one for each of the user’s feed items.
  2. Having a topic for every user, but updating state on server side. For example storing which posts they’re subscribed to server side.
  3. Having as few topics as possible, and sending updates to people who aren’t even watching those particular items.