我从来没有能够让它正常工作,它是如此令人不安:我已经配置了预热请求,但我从来没有看到它们通过,所以大约 10% 的请求会导致一个新实例被启动并且请求需要 30 秒或更差。而且由于持续的放缓,有时这些旋转需要比平时更长的时间并且超时,这太可怕了。这是一个 spring 应用程序,启动速度非常慢,我可能会优化到不到 30 秒,但除此之外......我需要预热请求才能工作,因此实例在它们之前不会服务用户请求其实准备好了。
有人说,除非你有常驻实例,否则预热请求不起作用,这是有道理的,所以我注册了 336 小时/周的折扣实例小时,但一个小时后我仍然看不到创建任何保留实例。即使我杀死了所有动态的,也会创建新的动态。
所以我的具体问题是:我需要做任何其他事情来设置保留实例吗?一旦这些都启动了,那会打开热身请求吗?
我的应用设置:
空闲实例:自动自动
等待延迟:5s-10s
配置的服务:预热请求
appengine-web.xml:
<warmup-requests-enabled>true</warmup-requests-enabled>
<threadsafe>true</threadsafe>
网页.xml:
<servlet>
<servlet-name>_ah_warmup</servlet-name>
<servlet-class>com.google.apphosting.utils.servlet.WarmupServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>_ah_warmup</servlet-name>
<url-pattern>/_ah/warmup</url-pattern>
</servlet-mapping>
我的主要 Spring Dispatcher servlet 和 appstats servlet 也有:
<load-on-startup>1</load-on-startup>