Less resources, higher throughput - 150k active connections


Artur Hefczyc TigaseTeam
Added over 8 years ago

Thanks to Directi Company who offered their hardware for Tigase tests I had a unique opportunity to do more detailed load tests under the Java profiler control. Good environment teamed with a good tools allowed me to find places where some optimizations are possible and further improve the Tigase server.

In my last tests, even though, the Tigase server was running under the Java profiler which consumes extra memory and CPU power I was able to achieve 152 584 concurrent, active connections.

In this test the client side software was the main limitation. I had only 3 machines to generate client traffic. In theory it allows to create maximum 3 x 64k connections. In practice it is slightly less. On top of this the client generators use more resources than the Tigase server as they are significantly less optimized.

As in previous test the hardware used to run Tigase server was: Pentium(R) D CPU 3.00GHz Dual Core, 4GB RAM, 144GB SATA HDD running on 64bit CentOS 5.1, Sun HotSpot(TM) 64-Bit Server VM (build 1.6.0_03-b05, mixed mode).

Here are statistics taken at the end of the test:

Tigase Server version3.3.2-b889

Concurrent, authenticated connections152 584

Test total time 2h, 14min, 8sec

Memory concumptionabout 2.2GB

CPU usage (2 cores)below 80%

Total number of XMPP packets processed during the test40 407 254

Average packets per second processed10 077/sec

Average server response time466 millis

Database (running on localhost)MySQL

The rest of the test parameters and all conditions stay the same.