我刚刚将我的应用程序部署在应用程序引擎(www.mibar.es)中,当长时间不使用它时,唤醒并处理第一个请求需要40秒钟以上的时间。在那之后,需要花费一秒钟来处理下一个请求。我该如何减少时间?为什么不总是准备好?如何使它时刻准备就绪?
我在GCP控制台上没有显示任何错误,并且正在搜索我发现的有关https://cloud.google.com/appengine/docs/standard/java11/configuring-warmup-requests#enabling_warmup_requests的相同问题>
因此,它应该包含在yaml文件中,用于:
inbound_services: - warmup
而且我想知道是否还有其他我应该做的事情,或者是否有人遇到过相同的问题:
runtime: java11 env: standard instance_class: F4 handlers: - url: /(.*) script: auto secure: always - url: .* script: auto automatic_scaling: min_idle_instances: automatic max_idle_instances: automatic min_pending_latency: automatic max_pending_latency: automatic max_instances: 1 network: {}
具有最小实例1的新UPDATED配置Yaml仍需要+30来发送第一个请求:
runtime: java11 env: standard instance_class: F4 handlers: - url: /(.*) script: auto secure: always - url: .* script: auto automatic_scaling: min_idle_instances: automatic max_idle_instances: automatic min_pending_latency: automatic max_pending_latency: automatic min_instances: 1 max_instances: 1 network: {}
感谢您的帮助,如果您需要其他任何配置文件,请告诉我。
我刚刚将我的应用程序部署在应用程序引擎(www.mibar.es)中,当长时间不使用它时,唤醒并处理第一个请求需要40秒钟以上的时间。在那之后,......>
使用您当前的设置,预计会在一段时间后发生。如果您的应用程序未收到任何请求,它将缩减为0个实例,因此,一旦请求到达,它就必须再次创建一个实例来满足流量需求,并且此“延迟”会添加到请求中。
Warmup请求将有助于在增加应用程序负载时加快创建实例的过程。但正如文档所述,有时会发出加载请求,而不是发出预热请求,特别是在应用程序有0个实例在服务并且必须创建另一个实例的情况下:
[在某些情况下,将发送加载请求:例如,如果实例是第一个正在启动的实例,或者流量急剧增加,则>]
为了克服这个问题,您至少可以运行1个实例,甚至可以使用
min_idle_instances
。