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.