I have a question I’d like to consult about. I have an ACS system deployed on the public network that needs to manage 1 million devices, which are located on a private network. Due to network issues between the ACS and the devices, it is necessary to connect the ACS to the devices through the XMPP protocol. I would like to know if Openfire has a solution that can handle such a large scale of concurrent connections? Or are there any colleagues who have practical experience with this?
Openfire is a solid and well known XMPP server with a lot of useful features. It is easy to manage, extensible with plugins, and works well for many common use cases. That said, Openfire was not built with raw performance or extremely large numbers of concurrent connections as its main goal.
Keeping around one million devices connected at the same time is a very big ask for any single system. Even with strong hardware, trying to push that kind of load through one deployment quickly runs into problems like memory pressure, connection handling limits, and overall stability issues.
A more realistic approach at this scale is horizontal scaling. Splitting devices across multiple server instances, for example by sharding on device IDs, regions, or customers, helps spread the load and makes the system easier to operate and recover when something goes wrong.
Openfire does support clustering, but it is still not optimized for extremely high connection counts. There are XMPP servers that are specifically designed for high volume scenarios. A good example is ejabberd from ProcessOne, which is built to handle very large numbers of concurrent connections and is commonly used in large scale deployments.
Thank you very much for your response.
I would like to ask what is the maximum number of concurrent connections you have currently handled? Or are there any cases you can refer to?
10 years ago….
Your mileage will vary. I’ve seen servers easily handling 100,000 connections, and I’ve seen servers struggle with 100. It strongly depends on a lot of factors. I wouldn’t be comfortable giving you any number.