Testing the forthcoming TYPO3 caching framework with memcached
I just did some quick tests with the forthcoming caching framework of TYPO3. The results were surprising, although not the way I did expect.
The caching framework was backported from FLOW3 for the forthcoming 4.3 release. The first commited version had some issues with memcached, so I decided to wait for a full working version.
Dmitry fixed the issues some days ago and posted a small howto in his blog on using memcache as a caching backend for TYPO3 pagecache.
Today, I tried to see how it works. The setup for TYPO3 was really easy and it worked without any problems. Installing memcached and php module on Debian was a nobrainer, so no time was wasted.
But my first tests were a bit disappointing. First, I used memcached on a lightweight virtualbox and the gain of using memcached instead of DB tables for cache_* "tables" was zeeeeero:
ab -c 100 -n 5000 http ://virtual.box.test/
The tests revealed ridiculous 8 req/s (mean) both using DB tables and memcached for caching. I realized, that the CPU could have been the bottleneck, because it immediately went to 100%. My conclusion was that the virtual box was too lame to get significant results. So I decided to switch to a real machine.
I decided to use an AMD BE-2350 machine for further tests.
ab -c 100 -n 5000 http ://physical.box.test/
The same basic tests with ApacheBench resulted in overall better performance and a slightly difference between memcached (170 req/s) and classic caching (135 req/s). But still not the boost I had expected. Once again looking at the CPU load, it was 100%. Most load was caused by fcgid and mysql, but I couldn't do any further tests because midnight cronjobs started and I did'nt want to stop them.
The next step will be to replay the tests on a machine using mod_php instead of fcgid. But I'm also looking forward for some more reports from the community to crosscheck my own results.
Anyway, the backport of the caching framework is very good work. It spends hope to have a smooth migration path to FLOW3 and TYPO3 v.5. So a big thank you goes out to core devs for their efforts.
would be interesting to know about your test settup...
Ingo, once I find some time, I'll test it again and provide more details about setup.
The extension enetcacheanalytics (forge) comes with a backend module to compare the different caching framework backends. I need to get it up-to-date again, but it should still be able to create some graphics about the different backends in direct comparison under different loads.
Thanks for your feedback, Christian.
This article was written on very basic assumtions. The underlying usecase is just a simple setup, compared to the many different possibilities of the caching framework.
I also agree that ab is not the best tool for measuring performance. It was just a quick shot to get my hands on the caching framework for the first time.
So I am looking forward to see how enetcacheanalytics does the job.