Я использую 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!