Назад | Перейти на главную страницу

Mysql высокие запросы в секунду, с высокой загрузкой процессора

У меня есть выделенный сервер с 4 ГБ оперативной памяти и четырехъядерный процессор Xeon, обслуживающий сайт с 350 тысячами просмотров страниц в день с использованием сценария wordpress. Проблема в том, что mysql съедает много процессора, и в ходе расследования я обнаружил, что он обрабатывает 250 запросов в секунду. Это соответствует 60 запросам на загрузку страницы, что не может быть правильным. Кроме того, большинство страниц кэшируются с помощью W3 Total Cache. У меня есть несколько приложений, обращающихся к базе данных, но как мне узнать, какое из них вызывает частое использование запросов?

В MySQL есть оператор под названием «показать список процессов», чтобы показать вам выполняющиеся запросы на вашем сервере MySQL.

Для проблем с mysql настройте журнал медленных запросов и выполните профилирование с помощью mysqltuner.pl и праймер для настройки mysql. Это устраняет большинство проблем с mysql. Проанализируйте медленные очереди и проверьте, можете ли вы добавить дополнительные индексы.

Не забудьте использовать innodb в качестве движка и особенно переменную размера буферного пула innodb.

Почему бы не пойти с чем-то вроде WP супер кэш что значительно сократит количество запросов, поступающих на ваш сервер базы данных?

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

Затем используйте инструмент mysqldumpslow для анализа журнала медленных запросов.

Для получения дополнительной информации обратитесь к документации mysql.

http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html