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

AWS RDS: случайные всплески освобождаемой памяти и использования подкачки

У меня на производстве запущен экземпляр db.m4.large RDS. У меня частые временные падения Freeable Memory и Swap Usage, и я пытаюсь понять, почему.

Вот скриншоты некоторых данных, которые я вижу в CloudWatch.

Бесплатная память - 1 неделя

Использование свопа - период 1 неделя

Количество подключений к БД - 1 неделя

Количество полученных клиентских запросов - 1 неделя

Я впервые заметил, что всплески почти всегда происходят в одно и то же время дня и только в будние дни. Я проверил, находятся ли эти времена в окнах обслуживания и резервного копирования, которые можно установить для экземпляра RDS, но это не так. Затем я искал любое задание cron, которое могло вызвать эти всплески, но не смог найти ни одного. Все задания cron, которые я выполнял, независимо от того, был ли день будним или в выходные. Кроме того, они запускаются каждую минуту или каждый час, что не коррелирует с данными, которые я могу визуализировать в CloudWatch. Есть только одно задание, которое выполняется ежедневно, но оно восстанавливает и использует уже созданный моментальный снимок экземпляра RDS. Кроме того, эта работа также выполняется каждый день, в будние и выходные дни.

Я заметил, что количество подключений к базе данных падает, когда возникают эти всплески, но я не могу сказать, есть ли связь, поскольку количество подключений постоянно меняется.

Я просмотрел журналы своего приложения, но не обнаружил необычной активности при возникновении всплесков. Все клиентские запросы, полученные при возникновении пиков, являются запросами, которые поступают постоянно в течение дня. С точки зрения трафика количество клиентских запросов, полученных при возникновении пиков, обычно находится на самом низком уровне за день (обычно это происходит в 4:30 утра).

Наконец, я, очевидно, взглянул на свой журнал медленных запросов (порог которого установлен на 2 секунды), но там нет ни одной записи.

Я связался со службой поддержки AWS и попросил их взглянуть на оборудование машины, и они сказали мне, что с оборудованием все в порядке. Они также подтвердили корреляцию между Freeable Memory и Swap Usage и указали мне на некоторую документацию, касающуюся того, как MySQL / InnoDB обрабатывает таблицы памяти и внутренние временные таблицы. Они добавили, что мой экземпляр может хранить некоторые временные и / или внутренние таблицы и очищать их после закрытия связанного соединения и уничтожения связанного потока. Однако, учитывая тот факт, что эти всплески длятся всего 3 минуты, я не уверен в связи здесь.

У меня заканчиваются идеи, и было бы здорово, если бы кто-нибудь когда-либо экспериментировал с такой ситуацией и / или имел бы предложения?

Заранее спасибо.