就我可以阅读文档而言,两个设置都做同样的事情:当请求在待处理队列中花费的时间超过该设置时,启动一个新实例。
<max-pending-latency>
在启动新实例处理请求之前,App Engine应允许请求在挂起队列中等待的最长时间。默认值:“30ms”。
- 较低的最大值意味着App Engine会更快地为待处理的请求启动新实例,从而提高性能但会增加运营成本。
- 最大值意味着用户可能需要等待更长时间才能提供服务请求,如果有待处理请求且没有空闲实例可供服务,但您的应用程序运行成本会更低。
<min-pending-latency>
在启动新实例处理请求之前,App Engine应允许请求在挂起队列中等待的最短时间。
- 最小值意味着当所有现有实例都处于活动状态时,请求必须在待处理队列中花费更少的时间。这样可以提高性能,但会增加运行应用程序的成本。
- 如果所有现有实例都处于活动状态,则最低值意味着请求将保持更长时间。这降低了运营成本,但增加了用户必须等待其请求服务的时间。
来源:https://cloud.google.com/appengine/docs/java/config/appref
那么min和max之间的区别是什么?
答案 0 :(得分:11)
您可能缺少了解这些设置的信息是,App Engine可以选择在最小挂起延迟和最大挂起延迟之间随时创建实例。
这意味着永远不会创建实例以在最小挂起延迟之前提供待处理请求,并且一旦达到最大挂起延迟,将始终创建实例。
我认为最好的理解方法是查看请求进入待处理队列时的事件时间表: