60k connections, 7.3k packets/sec, 0.3 sec delivery time

Submitted by kobit (not verified) on Wed, 2007-10-17 06:22

I did it again...

As the previous tests clearly showed the server can handle even more I have spent some time to improve testing software to generate higher load on the server. The goal was 50k connections but I pushed it a little bit further...

I am not going to copy all the details from the previous article, just a few comments for results below:

  1. Average packets per second - in this and in the previous test this number is calculated for packets processed in the last hour.
  2. Average packet delivery time - is significantly longer as in the second test the machine worked very close to its limits what is not apparent from the test results but it will be clear after comments about CPU usage.
  3. Average CPU usage - as this is dual core processor the 65% value doesn't really show what was going on. The same value on a single core CPU means something different. The top command showed usually CPU usage above 115% for Tigase server process. This is because profiler calculates usage for both cores and top calculates for a single core.
  4. Max RAM usage - I let the Java process to allocate up to 900MB of RAM. But even though the test has been running for 6 hours it has never allocated more memory than 752MB and was really using less than 500MB. From the previous test we could thought that Tigase needs over 10kB for each connection. This test shows that this is not a case.
Test results Statistics screenshot
Concurrent user connections 60 000
Average packets per second 7 319
Average packet delivery time 300 ms
Average CPU usage 65%
Max RAM usage 490 MB
Total test time 6h, 47s
Number of packets processed 64 616 601

Details

Tested software: Tigase server 3.0.2-b696 on Gentoo Linux and JVM - Sun 1.6.0.02

Memory usage Average CPU usage


Conclusions

I am not going to do it again soon....

kobit's picture

I have done all my tests

I have done all my tests under YourKit Java Profiler. The graphics are just screenshots from the YourKit profiler while the tests were running.

YourKit has offered us (Tigase developers) a free license of YourKit Java Profiler. More information you can find on contributors page.

Please, how can I generate

Please, how can I generate these graphics of "Memory Usage" and "Average CPU usage"? There is some software or JavaAPI to do this?

60k connections

60k connections fantastic.... server

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.