App Engine 实例激增

App engine instances spikes

我正在使用 GAE 的自动缩放,运行 php55。这也发生在 php5 上。设置:

automatic_scaling:
  min_idle_instances: 0
  max_idle_instances: 2  # default value
  min_pending_latency: 500ms
  max_pending_latency: 7000ms

我无法理解为什么会出现这些峰值。通常我的应用程序一次需要不超过 5 个实例 运行。有时这会无缘无故地跳到 1,200+。这段时间的日志显示所有非静态内容的 500 个超时错误。

这些页面的唯一依赖是简单的数据库插入。我正在使用 Google 云 SQL。云 SQL 日志中也没有报告任何错误。

关于如何进一步解决此问题的任何想法?从图中可以看出,这个问题非常偶发,但代价极其高昂。

这是因为数据库在一段时间不活动后关闭。当流量恢复时,需要时间重新启动数据库服务器。在此期间,App Engine 认为它需要创建更多实例来跟上沉重的负载。

我通过离开我的数据库实例解决了这个问题 'always on'。