在对我的应用程序运行负载测试时,我看到了非常一致的响应时间。一旦 GAE 上的负载水平恒定,平均响应时间就会越来越小。但我希望在每秒接收的请求少得多的其他应用程序上保持相同的一致性。在那些我永远不需要支持超过〜3个请求/秒。
阅读文档让我认为增加最小空闲实例的数量应该会导致更一致的响应时间。但即便如此,客户端仍然会看到更长的响应时间,每次 GAE 的调度程序认为需要更多实例时。我正在寻找用户看不到那些初始缓慢请求的设置。
当我将最小空闲实例数增加到 1 时,我希望 GAE 仅使用一个常驻实例。随着负载的增加,它应该启动并预热新的(动态)实例。只有在它们预热后,GAE 才会向它们发送请求。但是从响应时间来看,似乎客户端请求在被提出时以动态实例的形式到达。因此,这些请求需要很长时间(最多 30 秒)。
- 如果我的预热代码不完整,会发生这种情况吗?
- 对动态实例的第一次调用是否会因为涉及尚未预热的代码路径而如此缓慢?
在负载测试期间或当有足够多的人使用该应用程序时,我没有遇到此问题。但是当没有人使用该应用程序时,例如早上,我的测试环境实际上无法被客户使用。
谢谢!