App引擎自动扩展配置

Jav*_*rín 4 google-app-engine autoscaling cost-management

我正在尝试通过设置automatic_scaling参数来减少我的Google App Engine帐单.平均而言,我的应用程序运行7-10个实例,其中2或3个空闲.但有时候,如附图中的3到6点之间,活动和空闲实例之间的差异非常大.此外,我想减少活动实例的数量,增加最终用户的响应时间(设置min_pending_latencymax_pending_latency).但是,到目前为止,这些设置都没有起到任何作用.

这是我的app.yaml配置:

automatic_scaling:
  min_pending_latency: 250ms
  max_pending_latency: 750ms
  max_idle_instances: 2
Run Code Online (Sandbox Code Playgroud)

实例

Ale*_*lli 6

同时设置min_pending_latency max_pending_latency发送混合消息的自动配置器.

更一般地,你可以调整自动配置器对任何包含您的成本(设置较低的值max_idle_instances和/或高一个min_pending_latency),提高你的可扩展性-也就是说,保持低时延的流量激增(设置了很高的值for min_idle_instances和/或low one for max_pending_latency).

不要混用这两种调整 - 根据我的经验,这种"混合信息"从不会对成本或浪涌期间的延迟产生良好影响.

是的,我正在努力让这些基本的信息成为Google Cloud Platform官方文档的一部分 - 它只需要比我希望的更长的时间,这就是为什么同时我发布这个答案的原因.

更高级的替代方案,如果您非常肯定您的流量模式随着时间的推移,浪涌的可能性等等,就是从自动缩放模块切换到基本缩放模块甚至是手动缩放模块,编写自己的代码通过Modules API启动和终止实例.

尽管如此,我不得不承认,对于我来说,这对于专用于服务用户流量的模块(而不是任务队列或基于cron的"后端"工作)来说,这对我来说从来没有最佳效果 - 我的用户的激增和时间模式从未如此可预测通过分析过去的记录诱人的建议,向前发展.因此,在最后,我总是回去(用户业务服务),以良好的老自动缩放,也许适度调整要么以降低成本,以提高可扩展性,我建议以上.