Я получил обязанности по обслуживанию API, который использует MariaDB (10.0.21) db.t3.2xlarge. Сегодня, без видимой причины (проверил количество запросов, поступающих в API и без аномалий, без изменений кода, без изменений базы данных), база данных стала работать медленно, и даже получение токена доступа к API заняло 4-6секунд (обычно это было бы под 500 мс). Из анализа производительности (за последние 5 часов) я вижу, что для загрузки базы данных по ожиданиям (AAS) большая часть ожидания приходится на «synch / mutex / aria / PAGECACHE :: cache_lock» (29.92), за которым следует CPU (13.87)) и SQL, который создает все это, является выбором из представления, которое до этого момента работало просто отлично. Графики: https://imgur.com/B5baGzx https://imgur.com/BTU6MAf
Все графики, которые я мог получить на RDS: https://imgur.com/a/8XO04gZ
Анализ выбора: https://imgur.com/S9uQJpW
Я не эксперт по базам данных, но, думаю, что-то из этого не сделано должным образом. Вопрос все еще остается ... почему это происходит внезапно? У нас есть автоматическое незначительное обновление для двигателя, но я проверил, и на прошлой неделе обновлений не было. Я также проверил список процессов для базы данных и смог увидеть запрос выбора из v_links, застрявший в «Отправке данных»
Я также запустил запрос, который застрял в «отправке данных» из консоли, иэто закончилось за 10 мс.
Я также создал тему на форумах aws: https://forums.aws.amazon.com/thread.jspa?messageID=921037