Оптимізація бази даних для Мадженто
Одна з особливостей Мадженто – це вбудована система логування. Вона переслідує масу цілей, основними з яких є збільшення швидкості обробки даних та налагодження. У першому випадку, за допомогою запису певних даних в таблицю бази даних, двигун швидше обробляє наступні запити. У другому випадку, з налагодженням, все теж зрозуміло – за допомогою логів спрощується процес знаходження помилок в коді і функціонуванні двигуна. Логі налагодження, в основному, записуються в системі за адресою var/log/. А для інших логів використовується база даних.
На жаль, іноді корисний функціонал починає шкодити іншим параметрам системи. Наприклад, при значному збільшенні обсягу логів в базі даних, швидкість роботи всього сайту на Magento може кардинально знизитися. В сьогоднішній статті ми розглянемо рішення цієї проблеми методом оптимізації бази даних.
Вихідні дані (приклад): на сайті розміщено до тисячі товарів, кількість відвідувачів в день – 200, кількість зареєстрованих користувачів – до 100. При таких вихідних даних, без оптимізації бази і по самим грубим підрахунками, обсяг вашої бази даних кожен місяць буде збільшуватися на 300Мб.
А тепер порахуйте, скільки буде важити ваша база даних через 1 рік? Тепер прикиньте в умі, як це відобразиться на швидкості сайту. Думаю, що результат вас не влаштує. Тому, приступимо до вирішення даної задачі.
Для початку переконаємося, що в системі увімкнено автоматичне очищення логів (за замовчуванням воно вимкнено).
Зайдіть в консолі Система – Конфігурація (System > Configuration). Потім в лівому меню перейдіть в закладку Розширені – Система (Advanced – System).
У полі Включити очистку логів (Enable Log Cleaning) – виберіть Так.
І в полі Періодичність (Frequency) – виберіть бажану частоту очищення (в основному Щотижня буде достатньо).
Іноді виконання 1 пункту не призводить до потрібних результатів. Тому, ми додатково розглянемо 2 пункт оптимізації – очищення бази даних вручну. Але приступайте до цього пункту акуратно, і тільки в тому випадку, якщо ви впевнені у своїх діях!
Отже, приступимо. Найпростіше таку операцію робити у веб-додатках для адміністрування баз даних (наприклад, як у нашому випадку, в phpMyAdmin).
- Заходимо в phpMyAdmin
- Відкриваємо потрібну базу даних
- Вибираємо потрібні таблиці, проставивши навпроти них галочки
- І натиснувши в полі З зазначеними (With Selected) – Очистити (Empty). Будьте уважні: ми очищаємо таблиці, але ні в якому разі не видаляємо!
- Підтверджуємо операцію натиснувши Так у спливаючому вікні попередження.
Які таблиці можна очищати таким чином і з мінімальним ризиком:
core_session dataflow_batch_export dataflow_batch_import log_customer log_quote log_summary log_summary_type log_url log_url_info log_visitor log_visitor_info log_visitor_online report_viewed_product_index report_compared_product_index report_event
Після операції Очищення, бажано провести операцію Оптимізації. Для цього перейдіть на вкладку Структура у верхній частині сторінки PhpMyAdmin.
Виберіть ті ж таблиці, що і в попередньому кроці, але тепер в полі З зазначеними (With Selected) виберіть Оптимізація (Optimize).
От і все! Тепер можете оцінити приріст продуктивності вашого сайту.
Важливо!
Щоб ваш сайт завжди був на висоті – намагайтеся оптимізувати базу регулярно (хоча б раз на місяць).
Оскільки очищення таблиць видаляє певні статистичні дані (наприклад, таблиця log_visitor зберігає дані про відвідувачів сайту), підходьте до вибору таблиць для оптимізації з повним усвідомленням.
Останні пости
Як вибрати ідеальний ноутбук: Повний гайд
Вибір ноутбука може бути складним завданням у світі, де ринок переповнений варіантами на будь-який смак… Читати далі
Томас Едісон
Наш великий недолік в тому, що ми занадто швидко опускаємо руки. Найбільш діючий метод досягти… Читати далі
Найкрасивіші та найбільш вражаючі мости з усього світу (ТОП-10)
Міст — це щось більше, ніж просто споруда, яка поєднує два береги. Для того, щоб… Читати далі
Соломон
Життя нас вчить, що свою пару ми пізнаємо, коли розлучаємося, своїх братів ми пізнаємо, коли… Читати далі
Річард Бах
Жодне бажання не дається тобі окремо від сили, що дозволяє його здійснити. Хоча, можливо, для… Читати далі