Sporadic AWS RDS postgres Тайм-аут соединения и EOF, обнаруженные из t2.xlarge - PullRequest
0 голосов
/ 11 июля 2019

Я использую db.m5.xlarge postgres 10,6 дБ на AWS RDS.2 недели назад мы начали получать спорадические (psycopg2.DatabaseError) SSL SYSCALL error: Connection timed out и (psycopg2.OperationalError) SSL SYSCALL error: EOF detected.

Все эти ошибки происходят из контейнеров Docker, работающих на экземпляре t2.xlarge.t2.xlarge работает с 20 контейнерами Docker, каждый из которых использует простой API Python Tornado.

Когда мы получаем эти ошибки, не все контейнеры на хосте получают ошибку, это случайные.После ошибок и отката сеанса (мы используем sqlalchemy) ошибки исчезают.

Мы попытались обновить нашу БД, запустив меньшее количество контейнеров на t2.xlarge, обновив до m5.xlarge но ничего не работает.

Наша загрузка БД выглядит нормально.

Мы пробовали кучу вещей, но у нас заканчиваются идеи.Может ли это быть как-то связано с тем, что AWS ограничивает использование сети t2.xlarge или m5.xlarge?

* * * * * t2.xlarge имеет ~ 200-250 тыс. Входов / выходов в сеть и ~ 500-600 пакетов входов / выходов последовательно.Загрузка ЦП в этих случаях составляет ~ 0,3.

edit

В журналах ошибок postgres отображаются тысячи таких журналов

unexpected EOF on client connection with an open transaction
could not receive data from client: Connection reset by peer

Так чтопохоже, это как-то связано с тем сервером Tornado, который у нас работает, который использует sqlalchemy для связи с БД.Будем очень благодарны за любые советы / подсказки о том, что искать / отлаживать с помощью sqlalchemy / tornado!

...