在 Google Cloud App Engine 和 Google Cloud Run 上,确定每个实例最大并发请求值的最佳方法是什么? App Engine
max_concurrent_requests
的默认值为 10
,Cloud Run 的默认值为 80
。
理想情况下,您需要尽可能大的值,以最大程度地减少额外实例的启动。
是否有一个工具可以用来查看每个实例的平均请求数并以此为基础?
或者,将最大并发请求设置为
1000
的最大值,然后仅根据 CPU 使用情况来管理扩展是否会更好?在 App Engine 上,这将设置 target_cpu_utilization
值。
我个人以我自己的感觉来运营该服务。然后,我观察黄金指标(CPU 使用率、延迟、内存),以确保 1 个实例对于典型流量而言足够强大。
另一个非常重要的指标是冷启动。
从财务角度来看,拥有小型实例更有趣,因为每次添加只会产生少量的额外资源(和成本)。如果你有一个很大的实例,每次扩展增量都会花费很多!
这是对约束的优化,最好的方法是测试和实验。