GAE Python3标准环境 云SQL MySQL第二代使用云SQL代理



我在云SQL的日志中报告了许多错误,例如GAE标准Python3应用程序连接到Cloud SQL MySQL 2nd gen:

textPayload: "2019-02-19 485 [Note] Aborted connection 485 to db: 'my_database' user: 'root' host: 'cloudsqlproxy~74.125.xx.xxx' (Got an error reading communication packets)"

Gae Python3是否在引擎盖下使用云SQL代理?我如何避免这些问题?

是的,GAE标准使用Cloud SQL代理与Cloud SQL实例进行通信(如果您使用实例名称访问,但如果通过公共IP访问)<)。另外,错误消息可能不是问题。

"流产的连接xxx to db:'db_name'用户:'sql_user'主机: 'ip_address'"

终止现有连接时触发此消息不当,看起来可能是错误的,但实际上是完全正常的。流产的连接发生是由于连接的不清洁封闭(例如实例降低并终止)或服务器和客户端之间的网络问题,但不是因为服务器。

,如果您的用例常见,则从GCE或GAE连接时,这可能会影响您的SQL实例。纠正:

  • 设置wait_timeout标志值低于600秒:https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_wait_wait_timeout_timeout

  • 实现应用程序级的keepalives :许多连接池框架为此提供了一个简单的配置选项。否则,通过发送一个简单的SQL语句,例如"选择1;"来生成所有开放连接的活动。定期,至少每5分钟一次。

相关内容

  • 没有找到相关文章

最新更新