云服务自动伸缩与性能成本优化
1. GAE自动伸缩
GAE(Google App Engine)的自动伸缩功能可通过在 app.yaml 文件中指定选项来实现。当上传服务器代码时,GAE会根据一组默认参数值管理自动伸缩应用程序,这些默认值可在 app.yaml 中进行覆盖。
GAE根据传入的流量负载管理应用程序的处理实例数量。若没有传入请求,GAE不会调度任何实例;当请求到达时,GAE会部署一个实例来处理该请求。部署实例所需的时间因使用的编程语言而异,可能从几百毫秒到几秒不等。若没有常驻实例,初始请求的延迟可能会很高。为减轻实例加载延迟的影响,可以指定要保留的最小实例数,但这会产生费用。
随着请求负载的增加,GAE调度器会动态加载更多实例来处理请求。有三个参数精确控制伸缩操作:
| 参数名称 | 最小值 | 最大值 | 默认值 |
| — | — | — | — |
| target_throughput_utilization | 0.5 | 0.95 | 0.6 |
| target_cpu_utilization | 0.5 | 0.95 | 0.6 |
| max_concurrent_requests | 1 | 80 | 10 |
这些参数相互影响,配置较为复杂。默认情况下,一个实例在处理 10 x 0.6 = 6 个并发请求后,调度器会尝试创建新实例。若这6个(或更少)请求导致实例的CPU利用率超过60%,调度器也会尝试创建新实例。
此外,还可以指定 max-pending-
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



