MySQL Server неожиданно достигает 100% (Amazon AWS RDS)

введите описание здесь

Пожалуйста помоги! Мы боролись с этим в течение нескольких месяцев. На этой неделе мы подняли наш экземпляр RDS до самого высокого уровня производительности, и, хотя число случаев сократилось, у нас все еще внезапно достигнут 100% наш БД. Это происходит из ниоткуда. Иногда в 2 часа ночи, иногда в полдень.

Я исключил DOS - наши журналы доступа к страницам имеют нормальный трафик

Я исключил memcached, внезапно умирающий (попадания и промахи продолжаются как обычно).

SHOW PROCESSLIST пока у нас выдает отчеты о 500 запросах в очереди. Если я убью их или перезапущу сервер, они просто продолжат возвращаться, а потом, в конце концов, из неизвестного, наш сервер вернется в нормальное состояние. Иногда до 3 часов.

Наши плохо выполняющиеся запросы занимают 0,02 секунды, когда сервер в конечном итоге возвращается в нормальное состояние, но пока мы находимся на 100% -ной физической фазе ЦП, эти запросы никогда не завершаются.

Пожалуйста помоги!!!!! Кто-нибудь знает что-нибудь об оптимизации запросов MYSQL? Может ли сервер внезапно принять решение использовать разные индексы, что ставит его в спираль?

1 ответ

http://www.mysqlperformanceblog.com/2010/09/10/cache-miss-storm/

Как выяснилось, наша проблема была промахом штормового тайника, промахом АКА.

Мы решили это путем внедрения 50% срока действия кэша. В основном для каждого элемента в memcache мы создаем второй элемент кеша с аналогичным ключом плюс добавленную строку "регенерировать". Срок действия этого элемента истекает ровно на 50% от обычного времени истечения срока действия кеша, что указывает на следующий запрос, что мы приближаемся к истечению срока действия кеша, и следующий запрос должен будет попытаться восстановить кеш.

Это предотвращает поток пользователей, пытающихся одновременно восстановить кеш, и гарантирует, что наш кеш имеет наилучшие шансы всегда оставаться свежим!

Хитрый, чтобы выследить!

Другие вопросы по тегам