Оптимизация базы данных для Мадженто

Одна из особенностей Мадженто – это встроенная система логирования. Она преследует массу целей, основными из которых являются увеличение скорости обработки данных и отладка. В первом случае, с помощью записи определенных данных в таблицу базы данных, движок быстрее обрабатывает последующие запросы. Во втором случае, с отладкой, все тоже ясно – с помощью логов упрощается процесс нахождения ошибок в коде и функционировании движка. Логи отладки, в основном, записываются в системе по адресу var/log/. А для других логов используется база данных.

К сожалению, иногда полезный функционал начинает вредить другим параметрам системы. Например, при значительном увеличении объема логов в базе данных, скорость работы всего сайта на Magento может кардинально снизиться. В данной статье мы рассмотрим решение этой проблемы методом оптимизации базы данных.

 

 

Внимание: Всегда делайте резервные копии перед выполнением каких-либо операций в базе данных.

 

 

Исходные данные (пример): на сайте размещено до 1000 товаров, количество посетителей в день – 200, количество зарегистрированных пользователей – до 100. При таких исходных данных, без оптимизации базы и по самым грубым подсчетам, объем вашей базы данных каждый месяц будет увеличиваться на 300Мб.

А теперь посчитайте, сколько будет весить ваша база данных через 1 год? Теперь прикиньте в уме, как это отобразится на скорости сайта. Думаю, что результат вас не устроит. Поэтому, приступим к решению данной задачи.

 

Для начала убедимся, что в системе включена автоматическая очистка логов (по умолчанию она выключена).

Зайдите в консоли Система — Конфигурация (System > Configuration). Затем в левом меню перейдите в закладку Расширенные – Система (Advanced — System).

В поле Включить очистку логов (Enable Log Cleaning) – выберите Да.

И в поле Периодичность (Frequency) – выберите желаемую частоту очистки (в основном Еженедельно будет достаточно).

 

Иногда выполнение 1 пункта не приводит к нужным результатам. Поэтому, мы дополнительно рассмотрим 2 пункт оптимизации – очистка базы данных вручную. Но приступайте к этому пункту аккуратно, и только в том случае, если вы уверены в своих действиях!

 

Итак, приступим. Проще всего такую операцию делать в веб-приложениях для администрирования баз данных (например, как в нашем случае, в phpMyAdmin).

  1. Заходим в phpMyAdmin
  2. Открываем нужную базу данных
  3. Выбираем нужные таблицы, проставив напротив них галочки
  4. И нажав в поле С отмеченными (With Selected) – Очистить (Empty). Будьте внимательны: мы очищаем таблицы, но ни в коем случае не удаляем!
  5. Подтверждаем операцию нажав Да во всплывающем окне предупреждения.

 

 

Какие таблицы можно очищать таким образом и с минимальным риском:

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 хранит данные о посетителях сайта), подходите к выбору таблиц для оптимизации с полным осознанием.

 

Recent Posts

Как изменить активную тему WordPress через базу данных

Тема (шаблон) – это своеобразный скелет сайта на WordPress. И, к сожалению, иногда этот «скелет»…

13 часов ago

5 практических советов по разработке форм под мобильные устройства

Контактная форма (или любая другая) на сайте – это очень важный компонент. На нее возложен…

2 дня ago

Лина Костенко

Ужас не в том, что что-нибудь изменится. Ужас в том, что все может остаться тем…

1 неделя ago

Трансформационная игра родом из древней Индии — Лила

Что такое Лила — это древняя игра, выступающая в качестве инструмента для личностной трансформации, практик…

1 неделя ago

Конструктор — лучший вариант интерактивной игрушки для детей

Современные варианты детских конструкторов — это не просто игрушки, а действенный инструмент развития, который помогает…

1 неделя ago

Как сделать так, чтобы ваш сайт показывался в блоке ответов Google

Основной трафик на сайт с поисковых систем идет именно по органической выдаче. И здесь очень…

2 недели ago