Google App Engine会记录一堆新连接,以便...和客户端关闭本地连接

时间:2018-05-31 20:56:41

标签: django google-app-engine

在我的App Engine上查看我的日志。我得到了很多

New connection for "<project_id>-central1:<project_name>"
Client closed local connection on /cloudsql/<project_id>-central1:<project_name>/.s.PGSQL.5432 

就像每秒多次发生一样,只是充斥着我的日志。

我无法找到与此有关的任何信息,也许这只是一个非问题。

  • 有没有办法阻止这种情况? (不包括过滤)

  • 这是否无意中抬高了开闭操作的成本?

我在app引擎上使用Django。

4 个答案:

答案 0 :(得分:0)

我找到了有关同一错误的信息,但它没有产生大量连接。无论如何,它与Cloud SQL代理有关。

您是否按照the instructions in this guide配置与App Engine的PostgreSQL连接?我对来自&#34;设置当地环境&#34;的人特别感兴趣。

我在quotaspricing页面中未找到任何相关字段,但您可以在Google云端控制台中查看结算:Billing -> Overview -> [PROJECT_ID]

答案 1 :(得分:0)

我发现this帖子,其中提到设置-verbose = false会关闭新的/已关闭的连接日志。

答案 2 :(得分:0)

我不是django开发人员,但我想这个问题的根源是django默认情况下为每个请求打开一个新的数据库连接。

来源:https://docs.djangoproject.com/en/2.1/ref/databases/

  

持久连接避免了在每个请求中重新建立与数据库的连接的开销。它们由CONN_MAX_AGE参数控制,该参数定义了连接的最长生存时间。可以为每个数据库独立设置。

     

默认值为0,保留关闭的历史行为   每个请求结束时的数据库连接。启用   持久连接,请将CONN_MAX_AGE设置为正数   秒。对于无限的持久连接,请将其设置为“无”。

您可以尝试增加 CONN_MAX_AGE 或将其设置为“无”,日志消息应该消失。

答案 3 :(得分:0)

CONN_MAX_AGE的值更改为None会有所帮助,但是这可能会使您的应用程序遭受机器人攻击,就像暴露给我一样(请参见下图):

Google Cloud Platform

在滥用IPDB.com中寻找IP的地方,我发现了很多关于蛮力/ Web应用程序攻击的报道。

也许将变量值设置为固定数字可以使您的应用程序安全并停止这些日志。