Postgresql 从t2.xlarge检测到零星AWS RDS postgres连接超时和EOF

Postgresql 从t2.xlarge检测到零星AWS RDS postgres连接超时和EOF,postgresql,amazon-web-services,sqlalchemy,tornado,Postgresql,Amazon Web Services,Sqlalchemy,Tornado,我正在AWS RDS上运行一个db.m5.xlargepostgres 10.6db。2周前,我们开始收到零星的(psycopg2.DatabaseError)SSL系统调用错误:连接超时和(psycopg2.OperationalError)SSL系统调用错误:检测到EOF 这些错误都来自运行在t2.xlarge实例上的Docker容器。t2.xlarge运行20个Docker容器,每个容器运行一个简单的Python Tornado API 当我们遇到这些错误时,并不是主机上的所有容器都会出现

我正在AWS RDS上运行一个
db.m5.xlarge
postgres 10.6db。2周前,我们开始收到零星的
(psycopg2.DatabaseError)SSL系统调用错误:连接超时
(psycopg2.OperationalError)SSL系统调用错误:检测到EOF

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

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

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

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

我们已经尝试了很多东西,但都没有主意了。这可能与AWS限制我们的
t2.xlarge
m5.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在这里查找/调试内容的提示/建议,我们将不胜感激

您可以使用
psql
CLI连接到数据库吗?是的--tornado API与数据库通信没有问题,然后我们偶尔会看到这些错误,几分钟后,连接重新开始工作,就像出现了一些意外异常,导致tornado服务器崩溃,与db的连接无法正常关闭。至少,根据这一点:。打开tornado日志以了解更多关于客户端错误的信息。Amazon的
t
-系列实例如果不处于“无限”模式,就会受到一些相当严重的CPU限制;我见过这样的暂停。一般来说,如果CPU利用率在24小时内平均超过25%,您可能会遇到问题。我想这更可能是你的问题,而不是网络。我刚刚检查了一下,我们过去24小时的平均CPU使用率平均在3-4%左右。我们还看到从同一个实例到SQS的推送速度非常慢(偶尔),这让我觉得这可能与网络有关?你能使用
psql
CLI连接到数据库吗?是的--tornado API与数据库通信没有问题,然后偶尔我们会看到这些错误,几分钟后,连接重新开始工作,就像出现了一些意外异常,导致tornado服务器崩溃,与db的连接无法正常关闭。至少,根据这一点:。打开tornado日志以了解更多关于客户端错误的信息。Amazon的
t
-系列实例如果不处于“无限”模式,就会受到一些相当严重的CPU限制;我见过这样的暂停。一般来说,如果CPU利用率在24小时内平均超过25%,您可能会遇到问题。我想这更可能是你的问题,而不是网络。我刚刚检查了一下,我们过去24小时的平均CPU使用率平均在3-4%左右。我们还看到从相同的实例到SQS的推送速度非常慢(偶尔),这让我觉得它一定是与网络相关的?