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

Налаштування MariaDB під магазин: що справді впливає

Зміст
  1. Параметр, який вирішує найбільше
  2. Повільні запити
  3. Про що часто забувають
  4. Чого не варто робити
Опубліковано
Оновлено
Час читання
~2 хв
Переглядів
161
Оцінка читачів
Відгуків: 11
Автор
Євген Фостенко
Senior Backend & DevOps інженер
Поділитись
Налаштування MariaDB під магазин: що справді впливає Стаття
Потрібна допомога з цим?
Налаштування MariaDB / MySQL для продакшну
від 1500.00 грн.
Замовити в Telegram Детальніше про послугу →
Безкоштовна консультація та оцінка. Відповідаю швидко.

База даних — найчастіше вузьке місце інтернет-магазину, але виглядає це як «навантаження на процесор». Розберемо, які налаштування справді впливають, а які згадують за звичкою.

Параметр, який вирішує найбільше

Обсяг буферного пулу — область пам'яті, де база тримає дані й індекси. Якщо він менший за робочий обсяг даних, база постійно читає з диска замість пам'яті.

Типова ситуація: значення лишилось за замовчуванням — кілька сотень мегабайт — а база магазину важить кілька гігабайтів. Збільшення цього параметра зазвичай дає більший приріст, ніж усі інші налаштування разом.

Орієнтир: на виділеному сервері під базу віддають більшу частину пам'яті; на спільному з веб-сервером — стільки, щоб лишалось на PHP-воркери. Тут важливо не перестаратись: якщо пам'яті забракне, система почне вбивати процеси.

Повільні запити

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

Це важливо: додати індекс під конкретний запит дає більше, ніж будь-який тюнінг конфігурації. Але й індексів не має бути забагато — кожен сповільнює запис.

Про що часто забувають

  • Тип таблиць. У старих магазинах трапляються таблиці в застарілому форматі, який блокує всю таблицю при записі. На активному магазині це відчутно.
  • Кількість одночасних з'єднань має бути узгоджена з кількістю PHP-воркерів — інакше або черга, або вичерпання пам'яті.
  • Розмір тимчасових таблиць. Якщо він замалий, складні запити скидаються на диск.
  • Обслуговування. Таблиці замовлень і сесій з часом розростаються — періодична чистка й оптимізація дають помітний ефект.

Чого не варто робити

Копіювати конфігурацію з чужої статті. Значення розраховуються під конкретний обсяг пам'яті й профіль навантаження. Конфігурація «для потужного сервера» на маленькому призведе до падінь через нестачу пам'яті.

Практична робота — налаштування MariaDB для продакшну. У парі з цим зазвичай ідуть загальна оптимізація сервера й моніторинг, щоб бачити навантаження на базу в динаміці.

Потрібна допомога з цим?
Налаштування MariaDB / MySQL для продакшну
від 1500.00 грн.
Замовити в Telegram Детальніше про послугу →
Безкоштовна консультація та оцінка. Відповідаю швидко.

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

Налаштування MariaDB / MySQL для продакшну Послуга

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

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