Блог Максима Войтика
Публикации о способах
заработка в интернете и SEO

Как увеличить скорость сайта: оптимизация базы данных (MySQL) и плагин Optimize DB

21 августа 2012
Комментарии: 44

Оптимизация базы данных (MySQL)

Привет! Сегодня я хочу продолжить тему по увеличению скорости загрузки блога. После установки плагина Hyper Cache мой проект стал загружаться в два раза быстрее, но мне все равно этого показалось мало, и я решил его еще немного его ускорить, сделав несложную оптимизацию базы данных, через панель PhpMyadmin.

Плюс ко всему, хочу в этой статье познакомить вас с нужным плагином Optimize DB, который требуется периодически включать (чтобы не создавать дополнительную нагрузку на сервер), тем самым выполняя оптимизацию MySQL.

Как оптимизировать базу данных wordpress


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

Если не понятно постараюсь объяснить подробней. Написали вы классный пост, а через какое-то время решили его немного отредактировать, так вот wordpress все время делает резервную копию любого измененного поста. Представьте сколько таких никому не нужных копий может со временем на собираться — мусор, да и только!

оптимизация базы данных mysql

Для того чтобы удалить ненужных хлам, предлагаю вместе со мной проделать шаг за шагом нехитрые действия по оптимизации MySQL сайта.

Первое. Сначала отключим ревизию статей и корзину. Корзина — это то место, где хранятся ревизии. Заходим в корневую папку хостинга (у меня httpdocs) и открываем файл wp-config.php. Теперь нам необходимо туда поместить 2 строчки:

define('WP_POST_REVISIONS', false);
define('EMPTY_TRASH_DAYS', 1);

Посмотрите мой пример этого файла

отключим ревизию постов и корзину

Первой строкой мы отключили ревизии постов, а второй выставили значение «1» сколько дней будет храниться материал в корзине. В итоге получается, что все мои измененные записи через день будут автоматически удаляться.

Второе. Теперь переходим в панель управления базами данных (phpMyAdmin) на вашем хостинге.

панель управления phpMyAdmin

Затем выбираем базу данных конкретного сайта, который будете оптимизировать.

выбираете базу для оптимизации в phpmyadmin

Обязательно сохраните резервную копию редактируемой базы, этим вы себя обезопасите от случая, если что-то пойдет ни так.

Нажмите в меню панели phpMyAdmin вкладку «Экспорт», выбираете формат «SQL» и жмете «Ok».

сохраните резервную копию базы

Далее переходите во вкладку «Структура» и удалите все ненужные таблицы, которые создаются при установке плагинов.

удалите все ненужные таблицы

Только не трогайте следующие таблицы, так как они создаются при установке движка вордпресс и считаются обязательными.

 wp_comments
 wp_links
 wp_options
 wp_postmeta
 wp_posts
 wp_terms
 wp_term_relationships
 wp_term_taxonomy
 wp_usermeta
 wp_users

Вспомните, какие плагины у вас уже не работают на блоге и удалите нерабочие таблицы.

Третье. Немного выше мы отключили ревизии, а сейчас удалим те ревизии постов, которые могли у вас остаться ранее. Для этого переходим во вкладку «SQL» и вставляем в поле для ввода следующую строчку:

DELETE FROM wp_posts WHERE post_type = "revision"

Должно получиться примерно так:

удаляем ревизии постов

Нажимаем «Ok» и смотрим полученный результат.

результат

На 27 строк у меня база данных уже стала легче.

Четвертое. Теперь будем оптимизировать «wp-post» таблицу, куда сохраняются все посты в базе. Для этого в то же поле ввода вставляете строку:

OPTIMIZE TABLE wp_posts;

Жмете «Ok», как результат моя папка «wp-post» похудела на 0.4 Мб.

Пятое. Удаляем все спам комментарии, хранящиеся на блоге. Для этого аналогично вставляем строку:

DELETE FROM wp_comments WHERE comment_approved = 'spam';

Удаляем  спам комментарии

И нажимаем «Ok». У меня было удалено 332 строки, думаю неплохо.

Удаляем  спам

Шестое. Теперь в том же окне будем удалять пинкбеки (pingbacks). Это такие уведомления, показывающие, что кто-то на вас ссылается.

Они чем-то схожи с комментариями и показываются в статье, на которую была поставлена ссылка. Пользы от них для нас никакой нет, поэтому давайте будем от них избавляться.

DELETE FROM wp_comments WHERE comment_type = 'pingback';

А затем и вовсе их можно отключить.

UPDATE wp_posts p SET p.ping_status = 'closed'

Вот такими простыми действиями мы очень круто оптимизировали данные MySQL и ускорили блог, но это еще не все.

Плагин Optimize DB — дополнительная оптимизация базы MySQL


Сейчас я вам расскажу о замечательном плагине Optimize DB , который должен быть установлен на каждый сайт.

Этот плагин предназначен тоже для оптимизации базы данных, а фишка его в том, что вам только его нужно будет изредка включать, когда будете делать саму оптимизацию.

Скачать плагин  можете перейдя по этой ссылке. Далее устанавливаем его на блоге привычным способом, если не знаете как это сделать, вот моя статья в помощь «Установка плагинов wordpress».

После того, как плагин установлен и активирован, переходите во вкладку «Инструменты» далее «Optimize DB». В открывшемся окне нажмите на кнопку «Optimize Now».

плагин optimize db

После того, как база данных будет оптимизирована, переходите во вкладку «Плагины» далее «Установленные», находите этот плагин и отключаете «Деактивировать».

Вот так периодически заходите в админ панель блога включайте плагин, оптимизируйте базу данных, а затем опять отключайте. Тем самым вы не будете создавать дополнительную нагрузку на сервер.

Подведем итог

Привожу кратко список всего, что необходимо сделать, для оптимизации базы на wordpress.

1. Отключаем ревизии постов и корзину;

2. Удаляем ревизии постов;

3. Оптимизируем wp-post;

4. Удаляем спам-комментарии;

5. Удаляем все пинкбеки;

6. Отключаем пинкбеки;

7. Установили плагин Optimize DB и периодически делаем оптимизацию MySQL.

Для того чтобы наглядно показать, как надо оптимизировать базу на вордпресс я для вас специально записал подробную видео инструкцию.

На этом у меня все. Не пропусти выхода нового материала, подпишись на обновление постов моего блога.

Если вы знаете еще какие-нибудь способы оптимизации базы MySQL, оставьте пожалуйста комментарий. Всем пока!

(4 голос., в среднем: 4,00 из 5)
Загрузка...
С уважением, Максим Войтик
Буду рад, если нажмете на любую из кнопок:
Комментарии (44)
  1. Vitalik в 19:14

    Все очень грамотно описано =)

    Ответить
  2. Андрей в 08:43

    такого еще не знал, надо будет работать над этим плагином, знал другие ускорители

    Ответить
    • Максим Войтик в 19:32

      Попробуйте, очень хорош и прост в использовании :)

      Ответить
  3. Мария в 20:40

    Спасибо за информацию, будем прибывать.

    Ответить
  4. Виктория Эс в 17:25

    Благодарю, Вы очень сильно помогли, настолько подробный, а главное понятный обзор! *THUMBS UP*

    Ответить
  5. Евгений в 20:31

    Этот плагин уже не обновляется в течение двух лет. Так что возможны проблемы с совместимостью поздних версий WordPress. Я бы уже не стал его использовать для оптимизации работы такой важной части как базы данных.

    Ответить
    • Максим Войтик в 21:06

      Пока все работате нормально, но за совет спасибо)))

      Ответить
  6. Оксана в 15:22

    как часто пользоваться плагином Optimize DB? у меня буквально через сутки, а то и раньше опять показывает «большой» размер баз и приходится оптимизировать снова... может он некорректно работает? Но так на нескольких сайтах происходит — не будешь же каждый день «оптимизировать»...

    Ответить
    • Максим Войтик в 16:43

      Я раз в неделю его включаю...не чаще...вот сейчас вы мне напомнили про оптимизацию базы данных...

      Ответить
  7. Анна в 12:14

    На странице плагина я прочитала, что он не обновлялся уже 2 года. Хотела его поставить, но не знаю, будет ли работать с моей версией WordPress. Кто-нибудь проверял на последних версиях?

    Ответить
    • Максим Войтик в 12:35

      У меня последняя версия wordpress, все прекрасно работает...

      Ответить
      • Анна в 20:04

        спасибо. Попробую

        Ответить
  8. Svetlana в 21:43

    И мне понравилось. Спасибо. Обязательно применю ❗

    Ответить
  9. Наталия в 16:10

    Спасибо автору за такую классную статью! И большуший вам респект! Я обыскала весь интернет, а только на этом сайте нашла понятный ответ на свой вопрос. Результат — сайт грузится быстро и легко. Спасибо вам. И еще у меня вопросик есть: как уменьшить размер моего блога на хостинге. Дело в том, что у меня только 93 записи и 6 страниц. А на хостинге уже Диск, Мб 1659.9 из 2000. Что можно или нужно удалить, а что нельзя трогать? Подскажите плиз 🙄 ;-) ;-)

    Ответить
    • Максим Войтик в 20:56

      Да не может быть такого размера от 93 статей, что-то у вас там лежит крупнокалиберное, вы точно ничего не загружали туда, например видеокурс. Советую обратиться в службу поддержки и спросить куда делся размер хостинга, какими левыми файлами он загружен.

      Ответить
      • Ирина (Нянюшкин Портал) в 19:11

        Добрый день!

        У меня та же история. При 50 статьях — 890 MB на Спринхосте! Только что отправила запрос. Ответили, что нужен аудит и что резервные копии на диске не хранятся! А чем же тогда он загружен?

        Почтой хостинга не пользуюсь. Сайт почищен. Ничего не загружала.

        Ответить
      • Максим Войтик в 20:02

        Согласитесь чудес на свете не бывает...

        Ответить
      • Ирина (Нянюшкин Портал) в 19:01

        Максим, к меня уже менее 200 МБ! Удалила старые резервные копии. Это они, оказывается, вызвали такое нагромождение... Теперь порядок. Всему надо учиться.

        Ответить
    • Ирина в 18:52

      Наталия, в Настройках медиафайлов выставите везде ноль. Если стоят значения и Вы загружаете картинки, то они дублируются, к одной загруженной добавляются ещё три размера, в итоге четыре размера одной картинки получаются.

      Ответить
  10. Татьяна в 10:40

    Здравствуйте, Максим! Загрузила плагин, активировала, тупо нажала..., выдает сообщение: «поздравляем, ваша база данных уже полностью оптимизирована», захожу в записи, а все копии статей остались... Из Ваших рекомендаций:

    1. Отключаем ревизии постов и корзину;

    2. Удаляем ревизии постов;

    3. Оптимизируем wp-post;

    4. Удаляем спам-комментарии на блоге;

    5. Удаляем все пинкбеки;

    6. Отключаем пинкбеки;

    7. Установили плагин Optimize DB и периодически делаем оптимизацию MySQL;

    сделала только 7 пункт. В PHP что-то вставлять боюсь, только позавчера восстанавливали блок — улетел после изменений в PHP. Никак не получается оптимизация. До этого устанавливала WP-optimize — он уже не рабочий.

    Ответить
    • Максим Войтик в 19:33

      У меня все прекрасно работает.

      Ответить
    • Василий в 23:05

      Татьяна, а с чего вы взяли, что WP-Optimize уже не работающий плагин? Нормально он работает.

      Ответить
      • Ирина (Нянюшкин Портал) в 18:57

        Он любит повоевать с браузерами. У меня он сначала работал, потом перестал. Зашла на сайт в другом браузере — порядок! С Хромом очень не дружит, в основном.

        Ответить
  11. Надежда в 18:56

    Прочитала комментарии и теперь в раздумье, ставить плагин или нет?

    Ответить
  12. Жизнь в Китае в 16:40

    Я все заоптимизировал,но на скорость это совсем не повлияло. Обидно 🙁

    Ответить
  13. iBezGranic в 02:15

    Так что, оптимизирует данный плагин базу или нет?

    Ответить
  14. Николай в 01:00

    Максим, подскажи пожалуйста, если плагин Optimize DB установить, то можно без действий, описанных в начале поста по оптимизации обойтись или необходимо проделать и то и другое.

    Как часто ты активируешь плагин (раз в день, неделю, месяц, полгода)?

    Актуален ли еще этот плагин или есть уже более эффективные, поскольку пост с 2012 года?

    Спасибо.

    Ответить
    • Максим Войтик в 09:35

      Можно.

      1 раз в месяц.

      Актуален.

      Ответить
  15. Николай в 17:07

    Ясно, спасибо через день займусь, надеюсь, что оптимизация еще ускорит блог и почистит базу, на всякий случай создам копию перед экспериментом.

    Ответить
  16. Виталий в 11:16

    мне кажется он идёт у всех wordpress как стандартный плагин, конечно это очень удобно, но он более всего даёт нагрузку на сайт

    Ответить
  17. Галина в 22:46

    Здравствуйте, Максим! Очень даже отличная статья — подробная, наглядная, супер. Удалила все ревизии постов, вставив скопированный у Вас код на джино. А вот плагин не захотел устанавливаться — взяла его из базы на блоге, может,скачать по Вашей ссылке? Максим, но если мы внедрили код в корневую папку,то и плагин, может,не нужен? Вот еще пару пунктов осталось сделать,чтобы было все на 100% по статье,но не все понятно, еще раз или два надо прочитать. И текстовая часть статьи отличная и видео! Спасибо, продолжаю работать и становлюсь Вашим подписчиком. Спасибо.

    Ответить
    • Максим Войтик в 23:12

      У меня вордпресс Галина, поэтому про Дижно ничего сказать не могу.

      Ответить
  18. Галина в 11:07

    Здравствуйте, Максим! У меня тоже WordPress, но на хостинге jino.ru. Максим, вот подписалась у Вас на «КАК СОЗДАТЬ БЛОГ В ИНТЕРНЕТЕ НОВИЧКУ», а подтверждение подписки на почту не приходит. И при подписке на Ваш блог было сказано, что при подписке придет автоматически,но не пришло. Может это уже не работает или где-то сбой. Спасибо. Я учусь и хотелось бы больше знать. Спасибо.

    Ответить
    • Максим Войтик в 18:31

      Сообщите Галина вашу почту на которую была оформлена подписка.

      Ответить
      • Максим Войтик в 18:42

        С вашим вопросом разобрались, дело в том что вы не активировали подписку. То есть поле того, как вы ввели свой e-mail адрес для получения видеокурса, вам на почту пришло активационное письмо, в котором надо было нажать на ссылку, после чего пришло бы еще одно письмо со ссылкой на скачивание «Как создать блог в интернете».

        Так как вы подписку не активировали соответственно ничего и не получили. :)

        Ответить
      • Галина в 18:54

        Максим, я же написала, что письмо не пришло, а как активизировать подписку я знаю. Два Ваших коммента пришли, а подтверждение подписки нет. Попробую еще раз подписаться .

        Ответить
      • Максим Войтик в 19:59

        Проверьте папку Спам, может туда попало.

        Ответить
  19. Галина в 19:05

    Максим, я подписалась второй раз, мне ответили,что я уже подписана и чтобы я подтвердила подписку второй раз,подтвердила, система выдала: На ваш адрес ....... отправлено письмо для подтверждения подписки на рассылки: — письма нет,как и в первый раз. Попробуйте подписаться сами, так я делаю,когда хочу проверить,может,что-то не работает? Или вышлите письмо.Уж много очень время ушло и у Вас и у меня на несостоявшуюся подписку. Спасибо.

    Ответить
    • Максим Войтик в 20:00

      Письмо активации есть у вас в аккаунте подписчика. Вы можете подтвердить подписку оттуда. Вам на почту должны были прийти данные для входа в аккаунт подписчика логни- это имейл, и пароль.

      Ответить
  20. Галина в 20:22

    Максим, ура, письмо действительно попало в спам, даже 2 письма — от первой рассылки и от второй. Наконец-то разобрались. Спасибо,подтвердила одну, чтобы 2 курса не пришли. Теперь ждите вопросов по курсу,если они будут.Ведь знала про спам, а тут как заклинило — не заглянула. Спасибо,Максим.

    Ответить
    • Максим Войтик в 21:58

      :) 🙂

      Ответить
  21. Сергей в 09:21

    На сколько я понял, сейчас этот плагин уже обновился, и имеет совсем другой вид? Потому что в том обличии, в котором вы его описали, я его не смог найти.

    Ответить
    • Максим Войтик в 18:00

      Скорее всего Сергей, лично я пользуюсь старой версией.

      Ответить
  22. Елена в 10:32

    Полезная инфа, а я как раз сейчас занимаюсь ускорением блога и обязательно воспользуюсь вашими советами. Спасибо!

    Ответить
Оставить свой комментарий
Обязательно ознакомьтесь с правилами комментирования!!! СПАМ будет удален!
:) :-D ;-) :-| [star] [good] [present] [flower] [:-))] [:))] [:--_)] [:-|]

© 2011-2017 seoslim.ru, блог Максима Войтика

Внимание! Копирование материала строго запрещено. Соблюдайте авторские права и уважайте труд других людей!