2.3.4. OPcache

Оплата

На віртуальному хостингу послуга оплачується подобово з балансу, на бізнес-хостингу входить у вартість тарифу.

OPcache призначений для кешування скомпільованого байт-коду PHP-скриптів в оперативній пам’яті. Його використання дає змогу певною мірою прискорити роботу скриптів сайту і знизити створюване ними навантаження на веб-сервер. OPcache можна використовувати на будь-яких сайтах, спеціальна підтримка з боку сайтів не потрібна.

Важливі моменти:

  • При замовленні для віртуального хостингу на балансі має бути сума для оплати мінімум 1 місяця використання послуги.
  • OPcache доступний тільки для сайтів з версією PHP не нижче 5.5.
  • Неможливо заздалегідь визначити необхідний сайту об’єм пам’яті для OPcache. Конкретне значення можна з’ясувати тільки експериментальним шляхом — виділити пам’ять і дослідити зібрану статистику. Для більшості сайтів рідко потрібно більше 32 МБ.
  • Виділення сайту занадто маленького об’єму пам’яті для OPcache може викликати помилку 503.
  • На бізнес-хостингу для всіх сайтів хостинг-акаунта сумарно можна виділяти не більше 25% об’єму оперативної пам’яті тарифу.
  1. Відкрийте розділ «Налаштування PHP».
  2. Перейдіть на вкладку «OPcache».
  3. У полі «Виділений об’єм пам’яті» виберіть потрібний об’єм пам’яті та натисніть «Зберегти»:
  4. Зачекайте приблизно 15 хвилин, поки зміни вступлять в силу.
OPcache Preloading не підтримується через небезпечне налаштування і необхідність оновлення завантажених у пам’ять скриптів, які можуть оновлюватися тільки з перезапуском служби PHP.

Параметр «Частота перевірки змін у файлах» (opcache.revalidate_freq) за замовчуванням дорівнює нулю. Це означає, що при кожному запиті перевірятиметься, чи змінювався скрипт і чи можна його все ще брати з кешу або потрібно викликати заново. Використовувати значення більше нуля є сенс, якщо до сайту надходить велика кількість запитів і його файли не редагуються. Це дасть деякий приріст продуктивності за рахунок зниження кількості дискових операцій.

  1. Відкрийте розділ «Налаштування PHP».
  2. Перейдіть на вкладку «OPcache».
  3. Натисніть «Очистити кеш».
У меню бота виберіть «ХостингСайти → виберіть сайт → Очистити кеш OPcache».

Важливі моменти:

  • Повністю заповнене сховище OPcache не створюватиме помилок у роботі сайту, але це може бути одна з ознак необхідності збільшення виділеного об’єму пам’яті для кешування.
  • При заповненні сховища на 100% непопулярні і старі дані будуть перезаписані більш популярними, хвилюватися з приводу ефективності кешування не варто.
  • Для доступу до статистики сайт має бути доступний по HTTP та в .htaccess не повинно бути директив, що заважають прямому доступу до файлів виду opcache-stat-XXxxxXxXXXXXX.php у кореневому каталозі сайту.

Перегляд статистики:

  1. Відкрийте розділ «OPcache».
  2. У блоці «Сайти з увімкненим OPcache» у рядку з потрібним сайтом натисніть «Статистика»:

Приклад статистики:

У статистиці доступна така інформація:

  • Версія модуля.
  • Діаграма «Відсоток від загального обсягу», де видно:
    • Відсоток зайнятої пам’яті.
    • Відсоток вільної пам’яті.
    • Відсоток втраченої (wasted) пам’яті. Втрачена пам’ять — це пам’ять, зайнята вже застарілими, неактуальними даними. Вона виникає через зміну скриптів або неможливість використовувати для них поточні дані. Така пам’ять очищається автоматично при досягненні певної частки максимуму від загальної пам’яті, тому ручне очищення не потрібно. Такий підхід забезпечує швидшу роботу OPcache.
  • Діаграма «Відсоток від всіх запитів», де видно:
    • Попадання — статистика запитів до скриптів, які перебували в кеші, і був наданий результат без виконання вихідного коду.
    • Промахи — статистика запитів до скриптів, які не знаходилися в кеші і були виконані.
  • Конфігурація — список опцій OPcache. Всі опції можна знайти в документації.
  1. Відкрийте розділ «Налаштування PHP».
  2. Перейдіть на вкладку «OPcache».
  3. У полі «Виділений об’єм пам’яті» виберіть «Вимкнений» і натисніть «Зберегти»:
  4. Зачекайте приблизно 15 хвилин, поки зміни вступлять в силу.
Зміст