Акселератор 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
- PECL
- Установка PECL расширений
- Установка Alternative PHP Cache
- Alternative PHP Cache: версии, скачивание, исходные файлы, информация о разработчике, CHANGELOG
- Windows Cache Extension for PHP
- Исходный код Windows Cache Extension for PHP
- Introduction to XCache. 1.3 What's special in XCache? (недоступная ссылка). Дата обращения: 21 июля 2015. Архивировано 29 июля 2015 года.
- PECL :: Package :: ZendOpcache
Ссылки
- Официальный сайт eAccelerator (англ.)
- Официальный сайт Alternative PHP Cache (англ.)
- Руководство к Alternative PHP Cache (англ.)
- Официальный сайт XCache (англ.)
- Windows Cache Extension for PHP (англ.)
- Установка и настройка eAccelerator (рус.)
- Официальная страница NuSphere PhpExpress (рус.)
- Настройки конфигурационного файла APC (рус.)