Performance Testing Openfire

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.

Test Machine:

Model name: Intel® Xeon® CPU E5-2640 v3 @ 2.60GHz

Socket(s): 2

Core(s) per socket: 8

Thread(s) per core: 2

MemTotal: 65687932 kB

OS: Centos 7

Setup

Openfire 3.7.1.

  • 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)

Test data

  • 15000 accounts

  • no roster/groups

Test

  • login only

JVM usage when all clients are connected

eplddikchedfgnfn.png

Client Sessions

1 Like

Thanks for sharing. Well, you are using very old Openfire version, so it probably won’t be as useful for new users. But it can still show the scale in general.

Btw, there is your domain in the screenshot (not sure if intentionally).

Edited the post. Thanks for the heads up. The domain is on the intranet so it wasn’t too big of a deal, but thanks for pointing out anyway.

Thanks for sharing this results

@wroot

could you please tell us how many concurrent client can be handled on active chat using the same configuration as json have used to test above and openfire version 4.0.3 ??

If you can wait, we have currently updated the Openfire version to 4.0.3. and will be doing a login test really soon (and later on with active chats). I’ll share the results when I can.

@Hiren I don’t think @wroot can provide the answers that you want. There’s just too much possibility of different hardware and os configurations / combinations that no one answer is correct. It will all depend on how optimally you tweak your full hardware/software stack.

Thanks for your quick response

i am eager to know how many active client can be handled by version 4.0.3. i am not talikg about the perfect figure i know it will depends on hardware/software stack but we can figure out some basic count it will help for me and i am waiting for your results.

Yes, i can’t answer such questions. Here another example of testing OpenFire Single Server Load Testing 120,000 Concurrent Connections

Tested again with 4.0.3 (latest version as of this writing) - with 21k users.

@wroot this result is more relevant, what do you think?

Setup

Openfire 4.0.3

  • increased JVM to 4GB (OPENFIRE_OPTS="-Xmx4096m" in /etc/sysconfig/openfire)

  • uses MySQL 5.7.16

  • 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)

Test data

  • 21000 accounts

  • no roster/groups

Test

  • login only

CPU/MEM

cpu mem.PNG

JVM usage when all clients are connected

openfire4.0.3_mysqldb_21k_usage.PNG

Client Sessions

1 Like

Yes, as it uses the latest version.