Just wanted to share how Openfire scales and performs under a certain hardware specification. Our company uses an internal Openfire installation for our corporate communications. Hopefully this will serve as a sort of rough guide for those who are planning to set up Openfire in their workplace.
For load generation, we have written some scripts in Java to mock several thousands of virtual xmmp clients.
Model name: Intel® Xeon® CPU E5-2640 v3 @ 2.60GHz
Core(s) per socket: 8
Thread(s) per core: 2
MemTotal: 65687932 kB
OS: Centos 7
increased JVM to 4GB (OPENFIRE_OPTS="-Xmx4096m" in /etc/sysconfig/openfire)
uses embedded HSQLDB
no other cache settings are changed
Unix file descriptors for the openfire process is set to 500,000.
Used a 64-bit JVM (1.8)
- login only
JVM usage when all clients are connected