Earlier quoted context omitted.
If you’re running a single machine, you’ll be limited by the number of available ports. It’s a TCP limitation and nothing to do with XMPP. You’d need a cluster of XMPP servers to handle 40M users. Even for just text. Port limits are port limits.
40M users don’t all simultaneously send messages, or does XMPP need to sustain an open connection to each user?
Modern messaging: Running your own XMPP server
21–30 of 156 posts
Re: Modern messaging: Running your own XMPP server
#22Any idea what kind of server we’d need to handle 40M users if it’s just text chat (no files or audio)?
If you’re running a single machine, you’ll be limited by the number of available ports. It’s a TCP limitation and nothing to do with XMPP. You’d need a cluster of XMPP servers to handle 40M users. Even for just text. Port limits are port limits.
Now what size of machine?
(I don't really care, and the original question does have a whiff of malicious intent, but scaling discussions are sometimes interesting...)
Re: Modern messaging: Running your own XMPP server
#23Earlier quoted context omitted.
what about - single point of failure of rooms (server creating the chat room) - media access via 3rd party servers - gossiping encrypted message access across multiple devices - encrypted audio-visual (group) communication - good clients for iOS - reliable server-side storage of messages (of all(!) chats) - realistic verification concept for e2ee with multiple devices
Not my project, but I was hoping to see more stuff like https://prose.org/ As others have pointed out, for iOS Monal is good.
Monal looks like something that would be good in 2005, not 2025. There is no way you'll convince people nowadays to use it unless you force them to.
Re: Modern messaging: Running your own XMPP server
#24Earlier quoted context omitted.
If you’re running a single machine, you’ll be limited by the number of available ports. It’s a TCP limitation and nothing to do with XMPP. You’d need a cluster of XMPP servers to handle 40M users. Even for just text. Port limits are port limits.
You're thinking of outbound port limits. Inbound connections all come in on the same port and there's no port-related limits there. The real limits are going to be on hardware. If we want 40M concurrent connections, the server will need a few hundred to a few thousand gigabytes of memory.
Assume 10% of 40M users are active at once. That's 4M clients to deal with. You would need 62 servers (and probably a few for cache) to handle the load. But those could be small core cheap servers.
Re: Modern messaging: Running your own XMPP server
#25Re: Modern messaging: Running your own XMPP server
#26Re: Modern messaging: Running your own XMPP server
#27Re: Modern messaging: Running your own XMPP server
#28Last time I tried this I couldn’t even find an iOS client that supported reactions. Hate on the complexity of Matrix all you like, but at least when you ask your family to use it, they get a modern experience and don’t feel like they’re giving up everything vs every other messenger they are used to.
Re: Modern messaging: Running your own XMPP server
#29One potential issue with XMPP is the default port is commonly blocked on public wifi. There is an nginx-xmpp to proxy it, but it is archived. https://github.com/robn/nginx-xmpp For that reason http based protocol just seems much easier on the network or something that can be easily reverse proxied without extensions will be easier to self-host and have wilder internet connection accessibility.
https://prosody.im/doc/setting_up_bosh
https://prosody.im/doc/modules/mod_websocket
But I never tried it myself and from a quick search the popular non-browser XMPP apps/clients don't seem to use it.