Dec 28, 2008

Why your TYPO3 web site can be slow

Today I discovered a reason why one my TYPO3 web sites were slower than it could be. The reason comes from Apache, or, more precisely from the Apache configuration.

Dec 3, 2008

Zend debugger goes 64 bit on Mac OS X

Finally Zend debugger is available as native 64 bit binary on Mac OS X.

Today Gadi Goldbarg (QA manager for Zend Studio) announced that Zend starts testing 64 bit version. I tested this version and it works great. It even works a little faster than 32 bit version to my taste (no benchmarks though).

The problem with absence of 64 bit debugger was that you had to run PHP command line also in the 32 bit mode ("arch -i386 php"), which is trully annoying if you run PHP often from shell. If you do not run PHP in 32 bit mode with old Zend debugger installed, you get warnings and cannot debug. Now it is all in history (thanks to Zend!)

There is an issue if you already use Zend debugger with Apache. It means that your Apache runs in 32 bit mode. So if you get 64 bit binary, put a path to it in the /etc/php.ini and relaunch Apache, you will see in phpinfo() that Zend debugger is loaded. No problems in /var/log/apache2/error_log either. But debugging will not work (as if the debugger is not present).

The solution is to switch Apache back to 64 bit mode. Depending on the method you used to make Apache 32 bit, you may either need to restore original Apache binary (/usr/sbin/httpd) or edit /System/Library/LaunchDaemons/org.apache.httpd.plist to get rid of the "arch -i386" in this file.

Notice that this is not a final official release. Zend is still testing it.

Zend did it great again. Thanks, Zend!

Dec 2, 2008

How to enable Memcached cache in TYPO3 4.3

Yesterday evening I committed a fix for the Memcached cache backend to TYPO3 4.3. If you work with current trunk version of TYPO3, you can enable this backend and enjoy speed improvements.

Types of caches in TYPO3

There are three different caches in TYPO3 4.3:
  • cache_hash
    This cache saves data produced by some TYPO3 functions, mainly by substituteMarkerArrayCached. This cache can be very large, it is used only if page is not cached and it does not make sense to enable Memcached for this cache. Database or file will work best.
  • cache_pagesection
    This cache stores parsed TypoScript templates. It can be stored in Memcached but database is my personal preference for this cache.
  • cache_pages
    This cache stores pages. This is what needs to be as fast as possible. So Memcached will be the best candidate for this cache.