Dec. 4., 2008

Testing the forthcoming TYPO3 caching framework with memcached

By Steffen Müller. Licensed under the Creative Commons License

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.Engine 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.

--> Back to the list of articles

License

Licensed under creative commonsThis article is licensed under the Creative Commons License CC BY-SA 3.0. You are free to share (copy, distribute and transmit) and to remix (to adapt) the work under the following conditions:

  • You must attribute the work by mentioning the name of the author (Steffen Müller) and setting a link back to the original article using its URL.
  • If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

Comments

  1. Ingo wrote on February 5, 2009 at 12:08

    would be interesting to know about your test settup...

  2. Steffen wrote on February 5, 2009 at 20:17

    Ingo, once I find some time, I'll test it again and provide more details about setup.

  3. Christian wrote on December 21, 2010 at 22:48

    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.

  4. Steffen wrote on December 22, 2010 at 00:36

    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.


Leave a comment:

This page uses static caches. Make sure you reload the page in your browser after posting a comment.

(will not be published)

CAPTCHA image for SPAM prevention Click here for audio version of the word to enter.

If you can't read the captcha word, please click to load a new image.
(You need Javascript turned on. Otherwise press the submit button and wait until the page has reloaded.)