Django OperationalError:SSL SYSCALL错误:检测到EOF

时间:2019-06-27 14:46:28

标签: django postgresql rds postgresql-9.6

我正在运行使用Django 1.10作为连接到Postgres DB(由AWS RDS管理)的ORM的应用程序。

有时,我会收到很多 OperationalError:SSL SYSCALL错误:检测到EOF 异常,然后一切恢复正常,就像从未发生过一样

我认为这与错误 与打开的事务的客户端连接上的意外EOF 有关,但我不确定。< / p>

更多有用的信息:

  • 这不是防火墙问题,因为我们仅使用AWS安全组,该安全组只能根据端口来阻止事物。
  • 获取此异常的查询非常简单,通常需要毫秒才能返回。
  • 在此情节中,内存,CPU和磁盘空间照常显示。
  • 我怀疑这不是表锁定问题,因为发生后一切都会恢复正常,我不能肯定地说这是因为Postgres不会实时显示旧锁,而是仅显示当前锁。

  • 我的Postgres引擎版本为9.6.8

  • 我们在数据库中看到许多idle连接。可以关联吗?

1 个答案:

答案 0 :(得分:0)

该错误非常笼统,仅表示“ TLS通信失败”。

我会列出一小部分潜在原因,而不会要求完整性。

  • 可能是防火墙问题(您已排除该选项)。

  • 这可能是TLS密钥重新协商的问题。

    这会导致不同的OpenSSL版本和客户端驱动程序出现各种问题,并且在PostgreSQL 9.5中被废弃,因此,只有在使用旧的未打补丁的服务器版本时,这才可能是问题。