XMPP (Openfire) Scalability requirements
Following document was deleted along with the original source, hence to prevent it from disappearing i am reposting this here.
MINIMUM REQUIREMENTS
- Database with a JDBC driver, or use the embedded pure Java database.
- Java 5: because Openfire (formerly Wildfire) is a pure Java application, it will run on any platform where Java 5 (JDK 1.5 or better) is available.
SOFTWARE & HARDWARE OPTIONS
- Operating Systems
- Windows 2000, Windows XP or Windows 2003
- Linux, Solaris, or other Unix with Java 5 support
- Mac OS X
- Databases
- MySQL (4.1.x or better recommended)
- Oracle (9i or better recommended)
- Postgres (7.x or better recommended)
- IBM DB2 (v7 or better recommended)
- SQL Server (2000 or better recommended)
- Sybase
- HSQL DB (also used as the embedded database)
- Any other database that has a robust JDBC 2.0 compliant driver
HARDWARE RECOMMENDATIONS
| Concurrent Users | Recommendation |
|---|---|
| 1-500 | At least 384 MB of available RAM and one 1.5 GHz processor. |
| 501-10,000 | At least 768 MB of available RAM and one 3.0 GHz processor. |
| 10,001-25,000 | At least 1.5 GB of available RAM, two 3 GHz processors, and one connection manager on the same machine. |
| 25,001-100,000 | At least 2.0 GB of available RAM, two 3 GHz processors, and between 1 and 4 connection managers based on exact size, each on their own equivalent machine. |
ADDITIONAL RECOMMENDATIONS
We recommend a backup solution for server-side applications. At a minimum you should back up your database on a regular basis as well as the configuration files for Openfire (note, these are stored in one directory). A backup solution will help you recover from hardware failures or human error (it’s been known to happen!),
Extend Apache log to allow session tracking and response time logging Apache 403 and SELinux
Are the hardware recommendations also correct for the following use case : 100 000 users subscribed to a unique pub/sub session ?
Hi Regis,
Yes the statistics above can be applied to pubsub aswell, however not every XMPP Server out there is going to perform the same, check differences between ejab , ejab2 and openfire before committing to any of them, and moreover it totally depends on the complexity of your implementation, however it is pretty fare to use the above mentioned document as a base to plan your infrastructure.
Ravi