从t2.xlarge

时间:2019-07-11 18:47:45

标签: postgresql amazon-web-services sqlalchemy tornado

我正在AWS RDS上运行db.m5.xlarge postgres 10.6数据库。 2周前,我们开始偶发(psycopg2.DatabaseError) SSL SYSCALL error: Connection timed out(psycopg2.OperationalError) SSL SYSCALL error: EOF detected

这些错误均来自在t2.xlarge实例上运行的Docker容器。 t2.xlarge正在运行20个Docker容器,每个容器都运行一个简单的Python Tornado API。

当我们收到这些错误时,并不是主机上的所有容器都收到了错误,而是随机的。错误发生后,我们回滚了会话(我们正在使用sqlalchemy),错误消失了。

我们尝试升级数据库,在t2.xlarge上运行更少的容器,升级到m5.xlarge,但是没有任何效果。

我们的数据库负载看起来很正常。

我们一直在尝试很多事情,但是想法不多了。这与AWS限制t2.xlargem5.xlarge网络使用量有关吗?

t2.xlarge具有约200-250K的网络输入/输出,以及持续约500-600的数据包输入/输出。这些实例上的CPU使用率约为0.3。

修改

postgres错误日志显示了很多这样的日志

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

因此,这似乎与我们正在运行的Tornado服务器有关,这些服务器正在使用sqlalchemy与db进行通信。对于从此处查找或调试sqlalchemy / tornado的任何提示/建议,将不胜感激!

0 个答案:

没有答案