Акселератор PHP

Из Википедии, бесплатной энциклопедии

Акселератор PHP — расширение для PHP, основное назначение которого — увеличение производительности интерпретатора при обработке сценариев путём кэширования их байт-кода.

Принцип работы

[править | править код]

Обработка сценария на PHP обычным интерпретатором:

  1. чтение файла;
  2. генерация байт-кода;
  3. выполнение кода;
  4. выдача результата.

При этом процесс генерации байт-кода выполняется каждый раз и отнимает большую часть времени обработки сценария.

Для обхода этого узкого места были разработаны акселераторы PHP — модули, кэширующие скомпилированный байт-код в памяти или на диске и во много раз увеличивающие производительность PHP.

Существующие решения

[править | править код]

Alternative PHP Cache (APC)

[править | править код]

The Alternative PHP Cache[1] (APC) — бесплатный и открытый opcode кэшер для PHP. Он был задуман, как бесплатный, открытый и стабильный фреймворк для кэширования и оптимизации исходного кода PHP, также возможно кэширование пользовательских данных.

Поддерживает PHP4 и PHP5, включая 5.3 и 5.4.

Это расширение PECL[2] (см. «Установка расширений PECL»[3]) не поставляется вместе с PHP[4].

Использовался на серверах Википедии (до обновления версии PHP).

Последняя версия: 3.1.13 от 03.09.2012[5]

Статус проекта: разработка прекращена

eAccelerator — это свободный открытый проект, выполняющий роли акселератора, оптимизатора и распаковщика. Также встроены функции динамического кэширования контента. Есть возможность оптимизации PHP-скриптов для ускорения их исполнения.

Поддерживает PHP4 и PHP5, включая 5.4.

Начиная с июля 2012 проектом занимается Hans Rackers, в master-ветке репозитория на GitHub

Последняя правка от 16.08.2012

Статус проекта: разработка прекращена

Проприетарный проект. PhpExpress является бесплатным ускорителем обработки php-скриптов на веб-сервере. PhpExpress обеспечивает поддержку загрузки файлов, закодированных через Nu-Coder. Модуль прост в установке и использовании, при этом PhpExpress обеспечивает значительное увеличение скорости выполнения скриптов PHP. Файлы компилируются в байт-код и кэшируются в оперативной памяти сервера.

Поддерживает PHP4 и PHP5, включая 5.3

Последняя версия: 3.1 от 2014

Статус проекта: разработка прекращена

Windows Cache Extension for PHP

[править | править код]

PHP-акселератор[6] для Internet Information Server от Microsoft (BSD License[7]). На 09.06.2013 для скачивания предлагалась версия 1.3 для 32-битной версии PHP. Windows Cache Extension кэширует php-файлы, php-байткод и имеет конфигурируемый пользовательский кэш. Расширение имеет PHP-API для контроля и наблюдения за состоянием кэша. Распространяется программа бесплатно.

Поддерживает PHP5, включая 5.6.

Статус проекта: введется разработка

Поддерживает функции оптимизации скриптов, кэширование байт-кода в оперативную память, кэширование пользовательских данных в shared memory, простое профилирование работы скриптов. Имеет собственный GUI, наличие и использование которого не обязательно для функционирования пакета[8].

Поддерживает PHP4 и PHP5, включая 5.6

Последняя стабильная версия: 3.2.0 от 18.09.2014

Статус проекта: на поддержке

Zend OPcache[9] (ранее «Zend Optimizer+») обеспечивает быстрое выполнение PHP-кода, посредством кэширования и оптимизации. Он улучшает PHP-производительность, сохраняя скомпилированный байт-код в разделяемой памяти. Zend OPcache включен по умолчанию начиная с PHP 5.5.

Как расширение PECL поддерживался в версиях 5.2, 5.3 и 5.4.

Поддерживает PHP5, включая 5.6, а также PHP 7.x, включая 7.3.

Последняя версия 7.2.0 от 30.11.2017

Статус проекта: введется разработка

Примечания

[править | править код]
  1. Alternative PHP Cache, последнее обновление страницы проекта: Fri, 18 Nov 2011. Дата обращения: 22 ноября 2011. Архивировано 22 сентября 2012 года.
  2. PECL. Дата обращения: 2 июня 2009. Архивировано 17 сентября 2020 года.
  3. Установка PECL расширений. Дата обращения: 22 ноября 2011. Архивировано 12 марта 2012 года.
  4. Установка Alternative PHP Cache. Дата обращения: 22 ноября 2011. Архивировано 7 мая 2012 года.
  5. Alternative PHP Cache: версии, скачивание, исходные файлы, информация о разработчике, CHANGELOG. Дата обращения: 22 ноября 2011. Архивировано 15 марта 2012 года.
  6. Windows Cache Extension for PHP. Дата обращения: 22 ноября 2011. Архивировано 9 марта 2012 года.
  7. Исходный код Windows Cache Extension for PHP
  8. Introduction to XCache. 1.3 What's special in XCache? Дата обращения: 21 июля 2015. Архивировано из оригинала 29 июля 2015 года.
  9. PECL :: Package :: ZendOpcache. Дата обращения: 19 июня 2013. Архивировано 5 августа 2013 года.