Перейти до змісту
−10% на будь-який проєкт за промокодом−10% за промокодом

Чому гальмує OkayCMS і що з цим робити

Зміст
  1. Особливість: у ядрі немає кеш-шару
  2. Запити до бази
  3. Зображення
  4. Сторонні модулі
  5. З чого починати
Опубліковано
Оновлено
Час читання
~2 хв
Переглядів
152
Оцінка читачів
Відгуків: 10
Автор
Євген Фостенко
Senior Backend & DevOps інженер
Поділитись
Чому гальмує OkayCMS і що з цим робити Стаття
Потрібна допомога з цим?
Оптимізація швидкодії OkayCMS
від 3000.00 грн.
Замовити в Telegram Детальніше про послугу →
Безкоштовна консультація та оцінка. Відповідаю швидко.

OkayCMS — легка система, і на невеликому каталозі вона працює швидко без будь-яких налаштувань. Проблеми починаються з ростом асортименту, і причини в неї доволі специфічні.

Особливість: у ядрі немає кеш-шару

На відміну від більшості платформ, тут немає вбудованого механізму кешування, який можна просто ввімкнути в налаштуваннях. Кожна сторінка збирається запитами до бази щоразу. Поки товарів кілька сотень — непомітно; на десятках тисяч це головний обмежувач.

Рішення — або зовнішній кеш на рівні веб-сервера, або окреме розширення. Це не «галочка в адмінці», а окрема робота.

Запити до бази

Друге типове вузьке місце. Сторінка каталогу з фільтрами й лічильниками може давати сотні запитів. Особливо це помітно, коли до товарів прив'язані варіанти: кожен варіант тягне свій запит.

Діагностика починається з логу повільних запитів. Найчастіше виявляється кілька конкретних запитів без потрібних індексів, які виконуються на кожному завантаженні.

Зображення

Обробка зображень «на льоту» зручна, доки не приходить робот і не починає обходити каталог. Тоді сервер починає генерувати сотні мініатюр одночасно. Симптом упізнаваний: сайт стає повільним у моменти, коли відвідувачів мало.

Сторонні модулі

Ринок модулів для OkayCMS вужчий, ніж для великих платформ, і якість коду різна. Типова проблема — модуль, що робить запит у циклі по кожному товару. На сторінці з 24 товарами це 24 зайві запити.

З чого починати

  1. Виміряти час відповіді сервера окремо від завантаження сторінки.
  2. Увімкнути лог повільних запитів і подивитись, що саме повторюється.
  3. Перевірити, скільки запитів робить одна сторінка каталогу.
  4. Подивитись, чи не генеруються зображення при кожному запиті.
  5. Вимкнути сторонні модулі по черзі й порівняти.

Практична робота — оптимізація швидкодії OkayCMS. Суміжне: налаштування кешування, тюнінг бази, налаштування сервера.

Потрібна допомога з цим?
Оптимізація швидкодії OkayCMS
від 3000.00 грн.
Замовити в Telegram Детальніше про послугу →
Безкоштовна консультація та оцінка. Відповідаю швидко.

Супутні послуги

Оптимізація швидкодії OkayCMS Послуга

Оптимізація швидкодії OkayCMS

Відгуків: 9
від 3 000 грн

Відгуки читачів

5.0
Написати відгук