2016-09-27 4 views
1

Я работаю на сайте WordPress, который получает примерно 100 тыс. Просмотров страниц в день. Мы используем Лак для слоя кеширования. В последнее время мы столкнулись с проблемой, когда, по-видимому, случайным образом, производительность MySQL замедляется и сбивает наше приложение. Вот график из Нью-Relic для отключения электричества, которое произошло вчера:Отладка проблем с производительностью MySQL

Application performance graph

Это дважды случилось на прошлой неделе. Сайт будет работать отлично в течение недели, никто не трогает производственные серверы, а затем это происходит из ниоткуда. Обычное время отклика составляет около 500 мс, и здесь он достигает максимума в 60 000 мс (!). Проблема устранена, остановив apache, позволяя базе данных остыть, а затем снова запустив apache.

Это не то, что выполняется больше запросов, или что выполняется определенный медленный запрос и вызывает эту проблему. Если я возьму любой из «медленных запросов», которые сообщаются New Relic и запускают их в любое другое время, они быстро вспыхивают. Вот график для MySQL пропускной способности для того же период времени:

Database throughput graph

Я проверил статистику для WordPress крючков и плагин, и кажется, что все нормально.

Мой вопрос: где я должен начать искать? Какие настройки MySQL могут вызвать это? Возможно, это проблема MySQL или, скорее всего, проблема с приложением?

+0

У этого достаточно процессора? –

+0

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

+1

, если это происходит с полными случайными интервалами, я бы проверил бэкэнд хранилища. если это происходит через регулярные промежутки времени, я бы проверял любые cronjobs, задания резервного копирования или что-то еще. в любом случае, я скорее спрошу об ошибке сервера, так как это никоим образом не является вопросом * кодирования * –

ответ

0

С таким сайтом с высоким трафиком, и с тех пор, как вы упомянули лак, я предполагаю, что у вас есть VPS/облачный/выделенный хостинг, с доступом к дистрибутиву linux и ssh (root).

В этом случае одна из первых вещей, которую вы должны начать проверять, - это журналы ошибок сервера (расположение которых зависит от используемой ОС - вы можете использовать его в случае необходимости). Это может дать вам подсказку о происхождении проблемы. Проверка верхней нагрузки (# top) во время отключения также может помочь.

Для MySQL настройки конфигурации/производительности и оптимизации, вы можете попробовать следующее:

  1. Установите утилиту Mtop и запустить его

  2. Попробуйте это удобный инструмент:

http://mysqltuner.com/

Установите и дайте ему пробег> 2 4 часа. Затем он даст вам конкретные рекомендации по настройке конфигурации mysql на основе шаблонов использования mysql вашего сервера.

Смежные вопросы