Акселератор PHP
Стиль этой статьи неэнциклопедичен или нарушает нормы литературного русского языка. |
Акселератор PHP — расширение для PHP, основное назначение которого — увеличение производительности интерпретатора при обработке сценариев путём кэширования их байт-кода.
Принцип работы
Обработка сценария на PHP обычным интерпретатором:
- чтение файла;
- генерация байт-кода;
- выполнение кода;
- выдача результата.
При этом процесс генерации байт-кода выполняется каждый раз и отнимает большую часть времени обработки сценария.
Для обхода этого узкого места были разработаны акселераторы 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
eAccelerator — это свободный открытый проект, выполняющий роли акселератора, оптимизатора и распаковщика. Также встроены функции динамического кэширования контента. Есть возможность оптимизации PHP-скриптов для ускорения их исполнения.
Поддерживает PHP4 и PHP5, включая 5.4.
Начиная с июля 2012 проектом занимается Hans Rackers, в master-ветке репозитория на GitHub
Последняя правка от 16.08.2012
Статус проекта: разработка прекращена
PhpExpress
Проприетарный проект. 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.
Статус проекта: введется разработка
XCache
Поддерживает функции оптимизации скриптов, кэширование байт-кода в оперативную память, кэширование пользовательских данных в shared memory, простое профилирование работы скриптов. Имеет собственный GUI, наличие и использование которого не обязательно для функционирования пакета[8].
Поддерживает PHP4 и PHP5, включая 5.6
Последняя стабильная версия: 3.2.0 от 18.09.2014
Статус проекта: на поддержке
Zend OPcache
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
Статус проекта: введется разработка
См. также
Примечания
- ↑ Alternative PHP Cache, последнее обновление страницы проекта: Fri, 18 Nov 2011 . Дата обращения: 22 ноября 2011. Архивировано 22 сентября 2012 года.
- ↑ PECL . Дата обращения: 2 июня 2009. Архивировано 17 сентября 2020 года.
- ↑ Установка PECL расширений . Дата обращения: 22 ноября 2011. Архивировано 12 марта 2012 года.
- ↑ Установка Alternative PHP Cache . Дата обращения: 22 ноября 2011. Архивировано 7 мая 2012 года.
- ↑ Alternative PHP Cache: версии, скачивание, исходные файлы, информация о разработчике, CHANGELOG . Дата обращения: 22 ноября 2011. Архивировано 15 марта 2012 года.
- ↑ Windows Cache Extension for PHP . Дата обращения: 22 ноября 2011. Архивировано 9 марта 2012 года.
- ↑ Исходный код Windows Cache Extension for PHP
- ↑ Introduction to XCache. 1.3 What's special in XCache? (недоступная ссылка). Дата обращения: 21 июля 2015. Архивировано 29 июля 2015 года.
- ↑ PECL :: Package :: ZendOpcache . Дата обращения: 19 июня 2013. Архивировано 5 августа 2013 года.
Ссылки
- Официальный сайт eAccelerator (англ.)
- Официальный сайт Alternative PHP Cache (англ.)
- Руководство к Alternative PHP Cache (англ.)
- Официальный сайт XCache (англ.)
- Windows Cache Extension for PHP (англ.)
- Установка и настройка eAccelerator (рус.)
- Официальная страница NuSphere PhpExpress (рус.)
- Настройки конфигурационного файла APC (рус.)