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

Одна из особенностей Мадженто – это встроенная система логирования. Она преследует массу целей, основными из которых являются увеличение скорости обработки данных и отладка. В первом случае, с помощью записи определенных данных в таблицу базы данных, движок быстрее обрабатывает последующие запросы. Во втором случае, с отладкой, все тоже ясно – с помощью логов упрощается процесс нахождения ошибок в коде и функционировании движка. Логи отладки, в основном, записываются в системе по адресу 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 хранит данные о посетителях сайта), подходите к выбору таблиц для оптимизации с полным осознанием.

 

Tolyanich

Recent Posts

Вуди Аллен

Если хочешь узнать человека, не слушай, что о нем говорят другие, послушай, что он говорит…

10 часов ago

Эрих Мария Ремарк

Извинение — не означает, что ты не прав, а другой человек прав. Это всего лишь…

1 неделя ago

Джим Керри

Тот, кто умеет улыбаться каждый день, умеет жить Джим Керри  

2 недели ago

Хань Сян-цзы

Помогая ленивым людям, ты помогаешь им сесть на свою шею Хань Сян-цзы  

3 недели ago

Как работает электронная книга

Атмосферу бумажной книги, запах свежих чернил и чуть залежавшейся бумаги сложно заменить гаджетами. Но электронные…

3 недели ago

Робин Шарма

Действуй так, словно неудача просто невозможна, а успех обеспечен Робин Шарма  

4 недели ago