Google App Engine 中的实例延迟

3
我正在运行一个免费应用,并使用GAE的Python运行时,最多只有1个空闲实例。
根据http://code.google.com/appengine/docs/adminconsole/instances.html
你的应用程序的延迟时间对所需实例数量影响最大。如果您能快速处理请求,单个实例可以处理很多请求。
这似乎表明将“应用程序设置”中的滑块调整为最小延迟是最好的。
然而,根据http://code.google.com/appengine/docs/adminconsole/performancesettings.html#Setting_the_Minimum_Pending_Latency
高延迟有助于防止负载激增引起新实例的启动。
因此,延迟是否基本上是在能够响应请求峰值(高延迟)与在给定时间内处理的请求数量(低延迟)之间进行权衡?

“延迟”指的是您的代码响应请求所需的时间。调整滑块与此无关。如果您的代码很快,但延迟很高,这意味着AppEngine需要启动您的应用程序的新实例。这可能是因为您刚刚上传了它,或者很长一段时间没有人使用它并且空闲实例已关闭,或者其他运行实例被卡住了。 - ՕլՁՅԿ
1个回答

4
“挂起延迟”是指请求在排队等待时在App Engine决定启动另一个实例之前可以停留多长时间。如果所有应用程序实例都正在忙碌处理请求,则该请求将在队列中等待,直到下一个可用实例处理它。如果请求超过最小挂起延迟时间,App Engine可能会决定启动新实例来处理请求(您还可以调整最大挂起延迟设置)。
最小挂起延迟可配置,因为启动新实例需要时间和资金。较大的最小挂起延迟意味着App Engine会在开始新实例之前更长时间地保留未处理的请求(并让它们等待),从而优先考虑实例成本而不是处理更多流量的能力。较小的最小挂起延迟意味着当流量增加时,App Engine将更频繁地启动新实例。
术语“延迟”仅指应用响应请求需要多长时间。应用程序响应请求的速度越快,单个实例可以处理的请求就越多,请求队列通常也会更短。较低的延迟始终是好的,但是这取决于应用程序能够快速完成所需操作。

嗨,丹,尽管你的回答已经4年了,但它仍然相关。<min-pending-latency><max-pending-latency>之间有什么区别? - Dzmitry Lazerka
1
两个值都是指自动缩放器决定何时启动新实例的时间,当它注意到待处理队列中存在未满足的请求时。最小值表示“在至少这么长的时间内请求一直在等待之前,请勿尝试启动新实例。” 最大值表示“如果请求已经等待了这么长时间,请启动一个新实例。” 在这两个值之间有一些余地,或者将最大值设为“自动”(默认值),使得缩放器可以猜测何时需要资源。参考:https://cloud.google.com/appengine/docs/python/config/appref#min_pending_latency - Dan Sanderson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接