For a long time, we were wondering what are the limiting abilities of PerfCake. Mainly, what is the impact of PerfCake itself on the CPU. We created a simple scenario with the DefaultMessageGenerator and DummySender (that does nothing). We did not use validation for now as you can see in the scenario below. The aim of this exercise was to investigate thread management and proper data structures usage in the PerfCake core. On an Intel Xeon (2x 8 core CPU) we achieved over 75 billions of requests per second using 4096 concurrent threads/clients. Is your system that fast?
There is one more parameter to the test - the queue size. This is the size of an internal buffer used to prepare requests. If the queue was too short or too slow, it would block the maximal throughput. You can happily ignore this as the information is mainly for the developers. The colorful lines just make the charts look more joyful ;-)
We also wondered, how PerfCake can perform on a limited device based on an ARM CPU. Could you use your mobile phone as a load generator for example? So we run the same scenario on Cubieboard 2. The numbers are lower and the queue size now plays more important role. For our Fedora 19 installation on the device, there was a limit on the maximum number of threads for a system process. This is why the chart ends around 512 threads.
Following is the scenario.