Less resources, higher throughput - 150k active connections

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 version 3.3.2-b889
Concurrent, authenticated connections 152 584
Test total time 2h, 14min, 8sec
Memory concumption about 2.2GB
CPU usage (2 cores) below 80%
Total number of XMPP packets processed during the test 40 407 254
Average packets per second processed 10 077/sec
Average server response time 466 millis
Database (running on localhost) MySQL

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

Article type: