Оптимизация базы данных для Мадженто
Одна из особенностей Мадженто – это встроенная система логирования. Она преследует массу целей, основными из которых являются увеличение скорости обработки данных и отладка. В первом случае, с помощью записи определенных данных в таблицу базы данных, движок быстрее обрабатывает последующие запросы. Во втором случае, с отладкой, все тоже ясно – с помощью логов упрощается процесс нахождения ошибок в коде и функционировании движка. Логи отладки, в основном, записываются в системе по адресу var/log/. А для других логов используется база данных.
К сожалению, иногда полезный функционал начинает вредить другим параметрам системы. Например, при значительном увеличении объема логов в базе данных, скорость работы всего сайта на Magento может кардинально снизиться. В данной статье мы рассмотрим решение этой проблемы методом оптимизации базы данных.
Исходные данные (пример): на сайте размещено до 1000 товаров, количество посетителей в день – 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 хранит данные о посетителях сайта), подходите к выбору таблиц для оптимизации с полным осознанием.
This post was last modified on 20/04/2019 15:53
Последние посты
Генри Форд
Человек имеет два мотива поведения — один настоящий и второй, который красиво звучит Генри Форд…
Фридрих Ницше
Не нужно додумывать слишком много. Так вы создаете проблемы, которых изначально не было Фридрих Ницше…
Такой разный инвертор! Выбираем между кондиционерами Inverter, Inverter DC и Full DC
Лето в разгаре, а значит самое время задуматься о покупке кондиционера. Но как не потеряться…
Омар Хайям
Настоящий друг — это человек, который в глаза тебе выскажет все, что о тебе думает,…
Полезные советы по выбору раздвижной двери
Следует знать, что функциональность и дизайн работают рука об руку, когда вы используете раздвижную дверь.…