0

为什么 AppEngine 使用冷动态实例来处理我的请求,而没有事先预热?

我有一个使用 Spring Security 和 Spring MVC 的 Web 应用程序,因此初始化上下文需要很多时间,两者都大约 70 秒。因此,我将初始化分为两个阶段,其中预热请求仅初始化我的应用程序上下文(安全性),而 Spring Dispatcher Servlet 在下一个请求时被初始化。这使时间保持在最大 60 秒以下。

现在,在我的生产环境中,由于某种原因,两个常驻(空闲)实例中的任何一个都没有为客户端请求提供服务,而是由一个新的冷实例提供服务。然后这个实例需要初始化security,dispatcher servlet服务于请求,这在60s后被中断。

最小挂起延迟设置为 500 毫秒,最大设置为 15 秒,以尽可能避免使用冷实例提供服务,但这种情况在没有显着负载的情况下发生。

4

0 回答 0