From Wikipedia, the free encyclopedia
PHP accelerator is the common name given to an extension designed to boost the performance of software applications written using the PHP programming language. Most work by caching the compiled bytecode form of PHP scripts to avoid the overhead on every page request of parsing and compiling source code that may never even get executed. For best performance, caching is to shared memory with direct execution from the shared memory and the minimum of memory copying at runtime. A PHP accelerator typically reduces server load and increases the speed of PHP code anywhere from 2-10 times, depending on factors such as the inherent execution time of the PHP application and the percentage of source code actually executed on a given request. Whilst a code optimizer may even slow down overall performance when used in isolation, an optimizer can provide an additional performance boost when coupled with a code cache as the optimization effort is performed just once.
List of PHP Accelerators
Alternative PHP Cache
Alternative PHP Cache (APC) is a free, open, and robust framework for caching and optimizing PHP intermediate code.
- Home Page: http://pecl.php.net/package/APC
- Latest stable version: 3.0.12p2 (2006-09-05)
- Download link: http://pecl.php.net/package/APC
- Official installation help: inside the source
- Status: stable, actively maintained
- PHP version: works with all PHP versions including PHP5.2
eAccelerator was born in December 2004 as a fork of the Turck MMCache project. Turck MMCache was created by Dmitry Stogov and much of the eAccelerator code is still based on his work. eAccelerator also contains a PHP encoder and loader.
- Home Page: http://eaccelerator.net/
- Latest stable version: 0.9.5 (2006-10-11)
- PHP version: Supports PHP 4 and all PHP 5 releases including 5.2. In older releases, the encoder will only work with PHP versions from the 4.x.x branch. eAccelerator will not work with any other versions of PHP.
- Download link: http://bart.eaccelerator.net/source/0.9.5/
- Official installation help: http://eaccelerator.net/wiki/InstallFromSource
- Status: Actively maintained
- Notes: Very good performance
XCache is a fast, stable PHP opcode cacher that has been tested and is now running on production servers under high load. It is tested on linux. ThreadSafe/Windows is also supported. It overcomes a lot of problems that has been with other competing opcachers such as being able to be used with new PHP versions.
- Home Page: http://trac.lighttpd.net/xcache/
- Latest stable version: Latest stable version: 1.0.3-rc1 (2006-10-11)
- Download link: http://126.96.36.199/pub/XCache/rc/1.0.3-rc1/
- PHP version: PHP_4_3 PHP_4_4 PHP_5_0 PHP_5_1 PHP_5_2 HEAD(6.x
- Official installation help: http://trac.lighttpd.net/xcache/wiki/InstallFromSource
- Status: Actively maintained (different releases stable/unstable/devel)
- Notes: New kid on the block developed by mOo who is also a developer of Lighttpd. Many interesting features. Developed to overcome some of the limitations of the existing solutions at that time.
Zend Optimizer is a closed source solution. Zend Optimizer is purely a code optimizer, and having no code caching feature, it is not an accelerator in the same sense as other entries discussed here. Whilst Zend Optimizer makes good code optimizations and will generally speed execution, the time taken to optimize scripts may exceed the performance gains and yield an overall slowdown. Whilst heavily execution bound scripts may show a measurable speed increase, real world applications may not show any significant performance improvement. It is useful primarily to run some types of protected scripts.
- Home Page: http://www.zend.com/products/zend_optimizer
Zend Platform (formerly Zend Cache and then Zend Accelerator) is a commercial product; more than an optimizer that has features that serious developers might find useful. The product was first offered for sale between $995.00 and $1495.00 US dollars per server. This pricing was removed from the Zend.com website in August 2006 and no new specific pricing was posted.
- Home Page: http://www.zend.com/products/zend_platform
ionCube PHP Accelerator
Launched in 2001, ionCube PHP Accelerator (PHPA) was the first freely available PHP performance solution to match the performance of the commercial Zend Cache product and maximise the performance potential of PHP. Created before ionCube Ltd. was founded and at a time when the performance of PHP was regarded as lacklustre when compared to other popular web programming languages, PHPA made accelerated PHP available to almost everyone and showed that PHP need not be the laggard in the performance stakes. In response to early concerns raised by Zeev Suraski of Zend Technologies about the effect that an open source rival might have on their commercial alternative, the author of PHPA chose to keep the project closed source. Although closed source, the availability of PHPA on a wide variety of platforms led to its extensive adoption world wide from small sites to Yahoo!. It also inspired the redevelopment of APC to use the shared memory execution techniques that PHPA and Zend Cache had adopted instead of deserialization on each request that incurred performance penalties. Other accelerators such as mmcache subsequently appeared in later years. PHPA is now discontinued and the development of a more advanced replacement has been announced.
- Home Page: http://www.php-accelerator.co.uk / http://www.ioncube.com
Turck MMCache was considered a great product and many people still use it even though it is now discontinued. The natural upgrade for newer versions of php is eAccelerator.
- Home Page: http://turck-mmcache.sourceforge.net/index_old.html
- PHP Accelerators on MDLog:/sysadmin