- eAccelerator
- Установка eAccelerator
- Настройка eAccelerator
- Установка для Windows
- Возможные проблемы
- Принудительная очистка файлового кэша
- Php акселератор для windows
- Php акселератор для windows
- eAccelerator 0.9.5
- PHP акселераторы на CentOS и VestaCP
- Существующие акселераторы PHP
- Какой кешер выбрать
- Как установить ZendOpCache на CentOS
- Установка ZendOpCache на php 5.4
- Установка ZendOpCache на php 5.3
- Проверим правильность установки ZendOpCache на CentOS
- Оптимальные настройки Zend OPcache
- Перезапуск web-сервера
- Изменение скорости работы сайта после установки акселератора PHP
- Благодарности
eAccelerator
eAccelerator является PHP-акселератором, основное назначение которого состоит в кэшировании бинарного представления кода. Каждый раз при выполнении скрипта, PHP читает все подключаемые файлы и переводит их в бинарный код, при запросе скрипта операция повторяется. Задача eAccelerator состоит в сохранении бинарного кода для повторного использования, уменьшая время выполнения скрипта.
Внимание! С версии 0.9.6-rc1 удалена поддержка пользовательских функций кэширования (The user cache function are removed ), используйте версию 0.9.5.3!
Установка eAccelerator
Переходим в /usr/local:
Создаем директорию eAccelerator:
Переходим в директорию eAccelerator:
Загрузим дистрибутив с сайта производителя:
Переходим в директорию eaccelerator-0.9.5.3:
(в зависимости от того, где расположени phpize).
Опция —with-eaccelerator-shared-memory необходима для возможности использования API eAccelerator.
Настройка eAccelerator
Конфигурацию eAccelerator можно разместить в виде файла eaccelerator.ini в директории /etc/php.d/ или указать в файле /etc/php.ini
Разместим в файле /etc/php.ini в самом конце перед секцией [Zend], см. пример конфигурационного файла.
Внимание! При наличии в php.ini директивы extension_dir путь к расширению указываем относительный:
Создадим директорию для файлов eAccelerator:
Установка для Windows
Загрузите бинарные файлы для установленной версии PHP 5.
В директорию диск:\<путь к PHP>\ext\ разместите загруженную dll, предварительно переименовав ее в eaccelerator.dll, создайте директорию для файлов eAccelerator, например, по адресу c:\tmp\eaccelerator.
В php.ini добавьте строку extension=»eaccelerator.dll» и разместите конфигурацию eAccelerator, пример.
Перезапустите службу Apache.
Возможные проблемы
Необходимо установить php-devel, выполним:
Отсутствует gcc и make
Необходимо установить gcc и make, выполним:
Принудительная очистка файлового кэша
С целью недопущения исчерпания дискового пространства под устаревшие кэши eAccelerator рекомендуем очищать файлы, созданные более 12 часов назад:
Php акселератор для windows
Тот, кто делает сайты на Joomla!, знает на личном опыте, что стоит установить на этот движок несколько компонентов и модулей, как сайт начинает заметно медленней работать. Конечно же, можно включить в админке кеширование, но и это не особо ускоряет работу сайта.
Давайте разберёмся, почему это происходит и как исправить такую ситуацию в лучшую сторону. Joomla!, как и большинство других движков, написана на скриптовом языке программирования PHP. Это значит, что на PHP написаны сценарии (скрипты), в которых описаны последовательности операций для получения какого-либо результата. В нашем случае там прописано, что и как должно работать на сайте. Рассмотрим подробнее, как это работает.
Пользователь заходит на Ваш сайт — в этот момент на сервер из его браузера идёт запрос к странице, которую он запросил. Сервер принимает этот запрос и, если в коде страницы есть PHP код, передаёт этот код в интерпретатор PHP. Задача интерпретатора — принять PHP код и обработать его. Проще говоря, выполнить те последовательности действий, которые описаны в PHP коде. После обработки кода интерпретатор отдаёт результат серверу, а сервер отдаёт этот результат браузеру посетителя в виде HTML кода. При этом каждый раз перед тем, как интерпретатор сможет выполнить PHP скрипт, происходит компиляция этого PHP скрипта в байткод, который и обрабатывается. При этом компиляция кода отнимает некоторое количество ресурсов сервера, а если сайт состоит из большого количества PHP скриптов (в нашем случае это Joomla!), то это создаёт ощутимую нагрузку на сервер.
Напрашивается вывод, что выгоднее было бы сохранять байткод в оперативный памяти. И действительно, для снижения нагрузки от постоянной компиляции одного и того же кода применяют акселераторы PHP. Все они работают по одному принципу: сохраняют в оперативной памяти (либо на диске) уже скомпилированный код. Применение акселератора позволяет ускорить выполнение PHP в несколько раз, а значит, и скорость загрузки страниц сайта тоже возрастёт.
Я покажу установку и базовую настройку одного из таких ускорителей, а именно APC. Кстати я даже где-то читал, что этот акселератор советуют разработчики Joomla! Итак, установим APC на домашний сервер. Для этого выполним в консоли команду
По умолчанию для кеша в настройках APC выделено достаточно памяти, но при необходимости можно увеличить это значение. Для этого отредактируем конфигурационный файл:
И добавим в него строку
Это количество выделенной под кеш памяти в мегабайтах. После сохранения изменений необходимо перезапустить apache:
Теперь давайте проверим работу акселератора. В APC есть полезная опция, позволяющая визуально наблюдать в браузере использование кеша этим акселератором и видеть все его настройки. Для этого нужно закачать в корень сайта файл apc.php (этот файл можно найти в папке, в которой находится apc после установки, либо скачать по ссылке ниже) и обратиться к нему, дописав в браузере к домену сайта имя файла http://ваш-домен.ru/apc.php.
Вы увидите полную информацию об использовании кеша в наглядном виде (так же, как на этом скриншоте).
Это позволяет отлаживать режимы работы акселератора, подстраивать его под свой проект. После установки на сервер акселератора в Joomla! можно использовать APC в качестве обработчика кеширования. Для этого в общих настройках выберите Alternative PHP Cache.
Не рекомендую включать акселератор для обработчика сессий, иначе невозможно будет редактировать материалы и в админку тоже уже не попадёте. Хотя настроек у APC очень много, но думаю, для первого знакомства с ним достаточно этой информации. В дальнейшем расскажу о более тонкой настройке.
Только зарегистрированные пользователи могут оставлять комментарии.
Php акселератор для windows
Здесь могла бы быть ваша реклама
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006
Откуда: Israel
Секрет
Теперь, когда вы уже наверняка второпях отправили свой запрос,
я расскажу вам простой секрет, который сэкономит вам уйму ожиданий,
даже если первый ответ по теме последуем сразу же.
Само собой я знаю что ответят мне тут же, и если я посмотрю
на сообщения на форуме, то пойму что в общем то я и не ошибаюсь.
Но еще я точно замечу, что очень мало тем, в которых всего два ответа :
вопрос автора и еще два сообщение вида Ответ + Спасибо
После этого приходится начинать уточнять этим неграмотным что мне надо.
Они что, сами читать не умеют? А уточнять приходится.
И иногда пока они переварят то что я им скажу проходит и не одна ночь..
Уверен что если бы я им сказал что у меня есть
фиолетовый квадрат, и нужно превратить его в синий треугольник
и я пытался взять кисточку, макнуть в банку и поводить ей по квадрату
но почему то кисточка не принимала цвет краски в банке,
то на мой вопрос — где взять правильные банки мне бы ответили гораздо быстрее
предложив её открыть, а не тратить еще стольник на жестянку.
Поэтому с тех пор я строю свои вопросы по проверенной давным давно схеме:
Что есть
Что нужно получить
Как я пытался
Почему или что у меня не получилось.
На последок как оно происходит на форумах
Новичок: Подскажите пожалуста самый крепкий сорт дерева! Весь инет перерыл, поиском пользовался!
Старожил: Объясни, зачем тебе понадобилось дерево? Сейчас оно в строительстве практически не используется.
Новичок: Я небоскрёб собираюсь строить. Хочу узнать, из какого дерева делать перекрытия между этажами!
Старожил: Какое дерево? Ты вообще соображаешь, что говоришь?
Новичок: Чем мне нравиться этот форум — из двух ответов ниодного конкретного. Одни вопросы неподелу!
Старожил: Не нравится — тебя здесь никто не держит. Но если ты не соображаешь, что из дерева небоскрёбы не строят, то лучше бы тебе сначала школу закончить.
Новичок: Не знаите — лучше молчите! У меня дедушка в деревянном доме живёт! У НЕГО НИЧЕГО НЕ ЛОМАЕТСЯ.
Но у него дом из сосны, а я понимаю, что для небоскрёба нужно дерево прочнее! Поэтому и спрашиваю. А от вас нормального ответа недождёшся.
Прохожий: Самое крепкое дерево — дуб. Вот тебе технология вымачивания дуба в солёной воде, она придаёт дубу особую прочность:
Новичок: Спасибо, братан! То что нужно.
Отредактировано модератором: Uchkuma, 26 Апреля, 2011 — 10:21:12
eAccelerator 0.9.5
- Лицензия: GPL
- Версия: 0.9.5
- ОС: Другие
- Ссылки:web сайтeAccelerator094 Sitebuddy_v2 for PHP 4.4.4 (windows)eAccelerator.dll 0.9.5RC1_SiteBuddy for PHP 4.4.3 (windows)
eAccelerator – бесплатный PHP акселератор с открытым кодом, оптимизатор и кодировщик php скриптов. eAccelerator увеличивает производительность PHP сценарием, кэшируя их в компилированном состоянии, что позволяет исключить время компиляции при повторном запуске скрипта. Также акселератор оптимизирует сценарии для увеличения скорости выполнения. eAccelerator значительно снижает загрузку сервера и увеличивает скорость выполнения PHP кода в 5-10 раз.
eAccelerator хранит компилированные PHP сценарии в разделяемой памяти и выполнят код непосредственно оттуда. eAccelerator также содержит PHP кодировщик и загрузчик. Программа может использоваться для кодирования PHP сценариев, используя файл encoder.php, чтобы закрыть исходный код сценариев. Кодированные файлы могут быть запущены на любом сайте с поддержкой PHP и eAccelerator. Исходный код таких сценариев невозможно восстановить, потому что они хранятся в компилированном виде и кодированная версия никогда не содержит исходного кода.
eAccelerator в настоящее время находится в процессе разработки. Кодировщик работает только под PHP 4.x.x. Все другие версии PHP в настоящее время не поддерживают кодировщик. Последний стабильный релиз, 0.9.4, поддерживает PHP 4 и PHP 5.0.x для кешированных сценариев. PHP 5.1 поддерживается в eAccelerator 0.9.5, который в настоящее время существует в виде бета версии.
ОС: Windows Другие
eAccelerator – бесплатный PHP акселератор с открытым кодом, оптимизатор и кодировщик php скриптов. eAccelerator увеличивает производительность PHP сценарием, кэшируя их в компилированном состоянии, что позволяет исключить время компиляции при повторном запуске скрипта. Также акселератор оптимизирует сценарии для увеличения скорости выполнения. eAccelerator значительно снижает загрузку сервера и увеличивает скорость выполнения PHP кода в 5-10 раз.
PHP акселераторы на CentOS и VestaCP
Для уменьшения потребления памяти PHP и ускорения его работы рекомендуется использовать различные акселераторы. Особенно это актуально для бюджетных VPS с небольшим количеством оперативной памяти на которых крутятся сайты на прожорливых CMS типа WordPress.
Акселератор PHP — расширение для PHP, основное назначение которого — увеличение производительности интерпретатора при обработке сценариев путем кэширования их байт-кода.
Информация из Википедии
В данной статье расскажу как установить PHP акселератор на CentOS если вы используете панель управления хостингом VestaCP.
Существующие акселераторы PHP
Для PHP версий 5.3, 5.4 актуальны следующие акселераторы:
- APC — Alternative PHP Cache. Бесплатный и открытый opcode кэшер для PHP. Поддерживает PHP4 и PHP5, включая 5.3 и 5.4.
- eAccelerator. Свободный открытый проект, выполняющий роли акселератора, оптимизатора и распаковщика. Поддерживает PHP4 и PHP5, включая 5.4
- PhpExpress. Бесплатный ускоритель обработки php-скриптов на веб-сервере. Поддерживает PHP4 и PHP5, включая 5.3
- XCache. Бесплатный. Поддерживает функции оптимизации скриптов, кэширования байткода. Поддерживает PHP4 и PHP5, включая 5.6
- Zend OPcache. Обеспечивает более быстрое выполнение PHP кода операции через кэширование и оптимизации. Улучшает PHP производительность, сохраняя скомпилированные сценариев байт-кода в разделяемой памяти. Zend OPcache включен в PHP 5.5 по умолчанию. Как расширение PECL поддерживает версии 5.2, 5.3 и 5.4.
Если вы используете PHP 5.5, то в нем по-умолчанию идет Zend OPcache и ничего дополнительно ставить не нужно.
В сети полно тестов и сравнений различных акселераторов. Но в данной статье я не буду их приводить.
Какой кешер выбрать
Перелапатил интернет и понял, что в зависимости от версии PHP гуру рекомендуют следующее:
- 5.3 — apc
- 5.4 — ZendOpCache
- 5.5 — ZendOpCache(по-умолчанию)
Но я везде использую ZendOpCache вне зависимости от версии PHP. Мой выбор основан на том, что он стоит по-умолчанию на PHP v5.5. А значит лучше других должен знать как оптимизировать работу PHP.
Как установить ZendOpCache на CentOS
Нельзя использовать несколько акселераторов одновременно. ZendOpCache конфликтует с другими акселераторами и/или наоборот, так что остальные акселераторы должны быть отключены.
VestaCP на CentOS по-умолчанию ставит (ставила) APC, удалите его если вы решили установить ZendOpCache на CentOS.
Установка ZendOpCache на php 5.4
Установка ZendOpCache на php 5.3
Проверим правильность установки ZendOpCache на CentOS
Оптимальные настройки Zend OPcache
Проверьте свой файл конфигурации /etc/php.d/opcache.ini
По информации в сети нижеследующие настройки являются самыми оптимальными.
opcache.memory_consumption задает использование памяти для расширения
opcache.interned_strings_buffer задает объем памяти для хранения интернированых строк, в мегабайтах
opcache.max_accelerated_files – максимальное количество скриптов в памяти
opcache.revalidate_freq — это валидация кэша в секундах, в интернете все рекомендуют значение 60, я же использую 2, но иногда рекомендуют ставить 0 (ноль), то есть постоянно проверять на изменения. К примеру в Joomla OPcache кеширует все файлы и будет отдавать кэш после сохранения файлов еще то время, которое в этой строке. То есть вы сохранили файл, но все равно в течении указанного времени будете видеть старую копию из кеша. Поэтому не жалуйтесь, что файлы не сохраняются, подождите выставленное вами время.
opcache.fast_shutdown определяет включено или выключено быстрое завершение последовательности ускоренного, кода, дает возможность использовать Zend Engine Memory Management
opcache.enable_cli включает OPcache в CLI-версии PHP.
Перезапуск web-сервера
Чтобы изменения вступили в силу нужно перезапустить вэбсервер:
Изменение скорости работы сайта после установки акселератора PHP
Блог на WordPress работал сервере с PHP 5.3 без каких-либо акселераторов. Страница генерировалась за 0,37 сек., потребление памяти составляло 37 МБ.
После установки акселератора Zend OPcache скорость генерации страницы снизилась до 0,22 сек, потребление памяти при этом составило 11 МБ.
Комментарии излишни. Использование PHP акселератора положительно сказывается на скорости работы сайта и снижает потребление памяти.
Благодарности
При написании статьи были использованы следующие источники: