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

Высокая загрузка ЦП Postgres-RDS после миграции

Сегодня мы развернули обновление нашего программного обеспечения (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%.