Оптимизация БД wordpress

Оптимизация БД wordpress или как оптимизировать VPS с 513mb озу?

Хочу поделиться интересным случаем. Обратился ко мне заказчик, у которого на VPS происходили некие странности, сайты периодически не работали из-за нехватки памяти. Т.е. после перезапуска VPS (именно так решалась проблема) он нормально функционировал пару часов, после этого ядро прибивало mysqld. Ситуация оказалась довольно стандартной: VPS за 5$ в месяц без админа. На VPS было меньше десятка мало посещаемых сайтов на wordpress, общая посещаемость составляла 50-100 хостов в сутки, ерунда. Но всё это хозяйство благополучно функционировало около 6 месяцев. Стал разбираться, зашёл на сервер через шелл, ничего лишнего почти не было, парочку процессов прибил за ненадобностью, существенной прибавки производительности из этого не вышло. Стал смотреть сайты, всё довольно примитивно, несколько десятков страниц на каждом сайте, ок. Полез смотреть БД, оптимизировал одну, вторую, БД размером до 2 Мб. У одного сайта очистил таблицу со спам-комментами, у другого, 3-4Мб удалось высвободить. Стандартная ситуация. Потом обнаружил БД с тысячами спам-комментариев, БД в 15 Мб, замечательно 🙂 Но и это было не всё. На трёх сайтах были установлены какие-то интересные плагины, которые функционировали в течении нескольких лет и почти ежечасно делали какие-то cronjob и об этих действиях писали лог в собственную таблицу. Получилось удалить шестизначное число записей. Как это хозяйство существовало 6 месяцев — непонятно. Факт в том, что проблема решилась, также пришлось немного подправить my.cnf

На разных форумах часто обсуждают  VPS за 5 баксов в месяц. По причине цены и разных промо-акций данные тарифы очень популярны, но и проблем с такими VPS бывает очень много (опять-же сужу по количеству обсуждений данной темы). Многие советуют сменить хостинг (ага, на что-то подобное!), добавить памяти, кто-то пытается дать советы по настройке mysql, apache. Решение проблемы лежит почти на поверхности. Нужно тщательнее следить за своими БД, т.к. сайт с 30ю страницами имеет индекс размером 30-40Мб — это не нормально!

Ещё одна важная причина нехватки ресурсов на VPS — это банальная загруженность HDD. Когда df -h показывает, что занято больше 80% диска — это сигнал к его очистке 🙂 Причина этого явления — бэкапы / логи.