Вт. Дек 1st, 2020
php-logo

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

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

В данной статье расскажу как установить Zend OPcache на Ubuntu Server 18.04.

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

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

php -v

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

PHP 7.3.9-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Sep  2 2019 12:54:24) ( NTS )
 Copyright (c) 1997-2018 The PHP Group
 Zend Engine v3.3.9, Copyright (c) 1998-2018 Zend Technologies
     with Zend OPcache v7.3.9-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies

Настройка Zend OPcache

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

sudo nano /etc/php/7.3/fpm/php.ini 

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

opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=7963
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/nginx restart 

или

sudo service nginx restart

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

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

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

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

[endtxt]

0 0 голос
Article Rating
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x
Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов cookie) с использованием трекеров "Google Analytics" и "Yandex.Metrics". Порядок обработки Ваших персональных данных, а также реализуемые требования к их защите, содержатся в Политике конфиденциальности.
Принять