PHP accelerator

From Wikipedia, the free encyclopedia

A PHP accelerator is an extension designed to boost the performance of software applications written using the PHP programming language. Most PHP accelerators work by caching the compiled bytecode of PHP scripts to avoid the overhead of parsing and compiling source code on each request (some or all of which may never even be 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. While a code optimizer may even slow down overall performance when used in isolation, it can provide an additional performance boost when coupled with a code cache as the optimization effort is performed just once.

Contents

[edit] List of PHP Accelerators

[edit] Alternative PHP Cache

Alternative PHP Cache (APC) is a free, open, and robust framework for caching and optimizing PHP intermediate code.

[edit] eAccelerator

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 contained a PHP encoder and loader, but the development staff discontinued the encoder and removed this feature after December 2006.

[edit] XCache

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 is designed to overcome a lot of problems that have been seen with other competing opcachers, such as being able to be used with new PHP versions.

[edit] Zend Optimizer

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.

[edit] Zend Platform

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.

[PRICING] At this date February 22, 2007 prices are (unofficial data):

Zend Platform Performance Server 1-year subscription for a 1 CPU server is 995 euros
Zend Platform Enterprise Server 1-year subscription for a 1 CPU server is 4,495 euros

If Annual Gross Revenue of your company is below 200,000 euros you are eligible for the Zend Small Business Program:
Zend Platform Performance Server 1-year subscription for a 1 CPU server is 597 euros
Zend Platform Enterprise Server 1-year subscription for a 1 CPU server is 2,697 euros

[edit] 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.

[edit] Turck MMCache

Turck MMCache is now discontinued, although it is still widely used.

[edit] External links