Joomla cache performance with APC (the alternative PHP cache)

As stated above, I run another benchmark session after installing the Alternative PHP cache – APC in short. This bytecode-based cache can greatly speedup complex PHP scripts. What is its impact on thoughput (pages / sec)?

Joomla throughput with APC

In the above graph, you can see the APC speedup over the “plain PHP” case. Disabling any Joomla cache, APC alone is good for about 70-80% increase over the no-PHP-cache scenario. By enabling the system-wide cache, throughput rises significantly, approaching 30 pages per second. However, it is with the plugin cache that thoughput really skyrockets, surpassing the 90 pages per second mark. It is an impressive results: if you can actually use the plugin cache, combining it with APC give you a 9X boost in base performance (compared to no Joomla and PHP caches).

What about latency?

Joomla latency with APC

In this graph you have average and maximum latency, with and without APC. The results speak for themselves: with APC not only average, but also (and mostly) maximum latency are noticeably knocked down. How is this possible? Remember that APC saves the server machine from repeatedly parse the PHP source file. Parsing and translating from PHP to bytecode are complex and CPU-heavy operations so, by avoid them, we can greatly speed up the system. With all caching mode but the plugin one, the maximum latency with APC is lower (or very similar) than the average latency without APC – a very good result, indeed.