Сегодня мы развернули обновление нашего программного обеспечения (3 экземпляра EC2) и осуществили миграцию на нашу RDS (db.t2.medium, Postgres), которая добавила один столбец в таблицу с ~ 15 строками. До миграции у нас было около «2» загрузки ЦП. После миграции загрузка ЦП увеличилась до «60». После перезагрузки БД он упал, но снова поднялся.
В качестве примечания: после миграции мы попытались подключиться через графический интерфейс, и он завис во время SSL-проверки. Мы перезапустили графический интерфейс, и он снова заработал.
Есть какие-нибудь советы по этому поводу? Вот скриншот с текущими показателями. Вы можете ясно увидеть рост использования.
В настоящее время мы используем PostgreSQL 9.6.2!
Мы исправили это сами:
Проблема заключалась в том, что мы не закрыли фоновую службу, которая совершила несколько транзакций при обновлении нашего программного обеспечения и базы данных. Эти транзакции загрязнили базу данных. Мы нашли эти транзакции с помощью этого фрагмента:
SELECT pid, age(query_start, clock_timestamp()), usename, query,state
FROM pg_stat_activity
WHERE query != '<IDLE>' AND query NOT ILIKE '%pg_stat_activity%'
ORDER BY query_start desc;
После очистки нашей очереди redis и перезапуска фоновых служб ЦП снова упал до 2%.