Ускорение PHP на Ubuntu | VestaCP

Для уменьшения потребления памяти PHP и ускорения его работы рекомендуется использовать различные акселераторы. Особенно это актуально для бюджетных VPS с небольшим количеством оперативной памяти на которых крутятся сайты на прожорливых CMS типа WordPress.

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

В данной статье расскажу как установить PHP акселератор на Ubuntu Server 16.04 если вы используете панель управления хостингом VestaCP.

 Если вы используете PHP 5.5 и выше, то в нем по-умолчанию идет Zend OPcache и ничего дополнительно ставить не нужно.

Проверим  ZendOpCache на Ubuntu Server

php -v

Вывод должен быть примерно такой:

PHP 7.0.30-0ubuntu0.16.04.1 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.30-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by Zend Technologies

Настройка Zend OPcache

В сети много статей в которых описывается оптимальная настройка Zend OPcache. Почитав их, я решил объедиенить их в своей статье и найти золотую середину. На моем сервере установлен php 7.0. И так, открываем файл конфигурации php. :

sudo nano /etc/php/7.0/apache2/php.ini 

Находим следующие строки и выставляем значения как у меня (хотя можете поэкспериментировать)

opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=2
opcache.fast_shutdown=1

opcache.enable — включаем наш Zend OPcache.
opcache.enable_cli — включает OPcache в CLI-версии PHP.
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

Перезапуск web-сервера

Чтобы изменения вступили в силу нужно перезапустить вэб-сервер:

/etc/init.d/apache2 restart 

или

/etc/init.d/nginx restart

Изменение скорости работы сайта после установки акселератора PHP

Блог на WordPress, до настройке Zend OPcache, страница генерировалась за 0,37 сек., потребление памяти составляло 37 МБ.

После установки акселератора Zend OPcache скорость генерации страницы снизилась до 0,22 сек, потребление памяти при этом составило 11 МБ.

Комментарии излишни. Использование PHP акселератора положительно сказывается на скорости работы сайта и снижает потребление памяти.

Если есть вопросы, то пишем в комментариях и не забываем проголосовать за статью.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Ускорение PHP на Ubuntu | VestaCP
5 (100%) 7 votes

Оставить комментарий

avatar
  Подписаться  
Уведомление о
Меню

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Рейтинг@Mail.ru