Акселератор 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

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

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

См. также

Примечания

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.