Как ускорить сайт при помощи акселератора PHP Zend OPcache

Антон
20 августа 2019 Блог

Есть такая штука OPcache которая позволит ускорить генерацию страниц сайта в несколько раз. Обычно в 2-10 раз.

Почему это так важно?

  1. Скорость генерации страниц. К примеру тот же wordpress ускоряется в 2 раза (с 400 до 200 мс) без модуля кэширования. И в 3 раза (с 30 до 10 мс) с включенным WP SuperCache. Итого скорость генерации страниц увеличивается в 40 раз.
  2. Это напрямую влияет на скорость загрузки сайта на мобильных устройствах. Чем меньше время генерации страницы — тем быстрее телефон начнет загружать ее.
  3. Максимальное количество посетителей сайта и скорость загрузки в период большой нагрузки на сервер. Чем больше посещаемость сайта тем более эффективно работает кэширование. Это позволит не только сэкономить на хостинге но и быть уверенным, что во время акций сайт будет работать корректно и все посетители останутся довольными.
  4. На быстрых сайтах конверсия выше. Быстрые сайты ранжируются выше в поиска и дешевле клики в контекстной рекламе.

Вывод — нужно пользоваться.

Датали по ссылке

...
Время чтения: 3 минуты

Отправим материал вам на почту

Кратко, для предпринимателей и маркетологов

Есть такая штука OPcache которая позволит ускорить генерацию страниц сайта в несколько раз. Обычно 2-10 раз. Зависит от количества запросов в базу данных.
Из чего состоит скорость загрузки сайта:

  1. Генерация страницы
  2. Загрузка всех подключенных файлов (css,js, картинки, видео…)
  3. Отображение сайта браузером

Генерация страницы в свою очередь состоит из выполнения php и запросов в базу данных (mysql).

OPcache ускоряет выполнение php скрипта в 10-15 раз. Некоторые исследования подтверждают факт ускорения в 30 раз. Нам не очень интересы единицы миллисекунд. А вот за десятки поборемся.

Почему это так важно?

  1. Скорость генерации страниц. К примеру тот же wordpress ускоряется в 2 раза (с 400 до 200 мс) без модуля кэширования. И в 3 раза (с 30 до 10 мс) с включенным WP SuperCache. Итого скорость генерации страниц увеличивается в 40 раз.
  2. Это напрямую влияет на скорость загрузки сайта на мобильных устройствах. Чем меньше время генерации страницы — тем быстрее телефон начнет загружать ее.
  3. Максимальное количество посетителей сайта и скорость загрузки в период большой нагрузки на сервер. Чем больше посещаемость сайта тем более эффективно работает кэширование. Это позволит не только сэкономить на хостинге но и быть уверенным, что во время акций сайт будет работать корректно и все посетители останутся довольными.
  4. На быстрых сайтах конверсия выше. Быстрые сайты ранжируются выше в поиска и дешевле клики в контекстной рекламе.

Вывод — нужно пользоваться.

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

Если хотите разобраться детальнее, читайте дальше

PHP это скриптовый интерпретируемый язык программирования. Каждый раз при выполнении кода скрипт читается, компилируется, выполняется, все промежуточные данные удаляются. Во время выполнения следующего запроса все, что было во время прошлого запроса уже недоступно. Так разработан язык PHP.

Очень маловероятно, что на работающем сайте PHP код будет меняться. Поэтому процедура компилирования скрипта из исходного кода каждый раз при выполнении — пустая трата ресурсов. Скрипт можно скомпилировать один раз и хранить промежуточный результат до следующего изменения файла. На работающем — почти всегда.

Для этого и был разработан Zend OPcache. Кроме кэширования скомпилированного кода он еще оптимизирует компилятор, чтоб скомпилированный код выполнялся быстрее. Упустим детали об общей памяти, внутренностях компилятора, хэш таблицах. О них есть замечательная статья на хабре https://habr.com/ru/company/mailru/blog/310054/

Важные нюансы

  1. Проверить статистику использования OPcache можно при помощи одностраничного кода https://github.com/rlerdorf/opcache-status
  2. Выставьте такой размер кэша (opcache.memory_consumption), чтоб постоянно оставалось 10% свободной памяти.
  3. Пункт 2 позволит держать opcache_hit_rate в районе 99%, что будет гарантировать ускорения скриптов.

Zend OPcache официально рекомендуемый  PHP модуль кэширования, который включен по умолчанию. Опыт показывает, что не у всех он включен. Поэтому проверяйте работает ли он и насколько корректно настроен.

Быстрых вам сайтов!

Поделиться:

У вас есть задача для нас?
Пришлите заявку, обсудим и решим!