MariaDB / MySQL — оптимізація для e-commerce
Відгуків: 8Налаштую MariaDB/MySQL: buffer pool, slow query log, індекси, бекапи. Оптимізація для e-commerce. Від 1 500 грн.
Послуга
Налаштування MariaDB та MySQL для продакшну
База даних — найчастіше вузьке місце інтернет-магазину, але виглядає це як навантаження на процесор. Налаштування з коробки розраховані на те, щоб просто запуститись, а не працювати під навантаженням.
Що дає найбільший ефект
- Обсяг буферного пулу. Якщо він менший за робочий обсяг даних, база постійно читає з диска замість пам'яті. Типова ситуація: значення лишилось за замовчуванням, а база важить кілька гігабайтів.
- Повільні запити. Вмикаю лог, знаходжу те, що виконується на кожній сторінці без потрібного індексу. Один доданий індекс часто дає більше, ніж увесь тюнінг конфігурації.
- Кількість з'єднань — узгоджена з числом PHP-воркерів, інакше або черга, або вичерпання пам'яті.
- Тип таблиць. У старих магазинах трапляються таблиці у форматі, що блокує всю таблицю при записі — на активному сайті це відчутно.
- Обслуговування: чистка й оптимізація таблиць замовлень і сесій, які з часом розростаються.
Чого я не роблю
Не копіюю конфігурації з інтернету. Значення розраховуються під конкретний обсяг пам'яті й профіль навантаження: конфігурація «для потужного сервера» на маленькому призведе до падінь, бо системі забракне пам'яті.
Порядок робіт
Заміри під реальним навантаженням, аналіз повільних запитів, зміни по одній з контрольним виміром після кожної. На виході — конфігурація під ваш сервер плюс перелік запитів, які варто виправити на рівні коду.
Докладніше — налаштування MariaDB під магазин. Суміжне: загальна оптимізація сервера, моніторинг навантаження на базу в динаміці.
До і після
- Налаштування бази «з коробки» — розраховані, щоб запуститись, а не працювати під навантаженням
- Буферний пул менший за дані — база постійно читає з диска замість пам’яті
- Повільні запити без потрібних індексів на кожній сторінці; з’єднання не узгоджені з PHP-воркерами
- Конфігурація розрахована під вашу пам’ять і реальне навантаження — без копіювання «з інтернету»
- Повільні запити знайдено й виправлено: часто один індекс дає більше, ніж увесь тюнінг
- Кожна зміна — з контрольним заміром; список запитів, які варто виправити в коді
Відгуки (8)
5.0Брав «Налаштування MariaDB / MySQL для продакшну» для свого проєкту. Повільні запити гальмували каталог. Ціна відповідала обсягу, прихованих доплат не було. Проблему вирішено остаточно.
Звернулась за послугою «Налаштування MariaDB / MySQL для продакшну». Повільні запити гальмували каталог. Все протестували перед тим як віддати. Зробили бекап перед роботами — приємно, що подбали. Проблему вирішено остаточно.
Потрібна була послуга «Налаштування MariaDB / MySQL для продакшну», і дефолтний конфіг не використовував RAM. Роботу здали з документацією і поясненнями. Ціна відповідала обсягу, прихованих доплат не було. Рекомендую без вагань.
Замовляв «Налаштування MariaDB / MySQL для продакшну» — повільні запити гальмували каталог. Зробили бекап перед роботами — приємно, що подбали. Підхід професійний, усе по суті. Результатом повністю задоволений.
Робили нам «Налаштування MariaDB / MySQL для продакшну» — не було надійних бекапів БД. Після здачі ще тиждень відповідали на дрібні питання. Підхід професійний, усе по суті. Звернусь ще раз із наступними задачами.