我有一个低负载应用程序,由于加载请求,它经历了延迟峰值(请求最多需要 10 秒才能返回),如日志中所示:
此请求导致为您的应用程序启动一个新进程,从而导致您的应用程序代码首次加载。
在这里,我假设“新流程”意味着“新实例”。
为了避免这种情况,我将空闲实例的数量固定为一个(max=1 和 min=1),所以总是有一个实例在运行(“驻留实例”),GAE 不应该启动新的实例。计费已启用。
但是,我仍然遇到加载请求。为什么?对此有什么可做的吗?
我有一个低负载应用程序,由于加载请求,它经历了延迟峰值(请求最多需要 10 秒才能返回),如日志中所示:
此请求导致为您的应用程序启动一个新进程,从而导致您的应用程序代码首次加载。
在这里,我假设“新流程”意味着“新实例”。
为了避免这种情况,我将空闲实例的数量固定为一个(max=1 和 min=1),所以总是有一个实例在运行(“驻留实例”),GAE 不应该启动新的实例。计费已启用。
但是,我仍然遇到加载请求。为什么?对此有什么可做的吗?
空闲实例是“保留”实例 - 它们旨在处理流量增加时的峰值,而不是“正常”流量。空闲实例仅在动态实例启动期间使用。
因此,当您有一个空闲实例且没有运行动态实例并且您收到请求时,空闲实例应该处理该请求,但仍会启动一个新的动态实例。
我的低流量应用程序也遇到了同样的问题,这是一个实用的解决方案,它几乎总是可以防止我的用户面临冷启动: - 1 个常驻 F4 实例 - 等待延迟到 15 秒 - 我工作以便我的热身请求是尽可能快(不到 10 秒),仍然很长,因为我使用框架 Play(Java) - 当我真的不想有任何问题时,我通过 ping 我的应用程序来创建虚假流量。
使用此配置,常驻者通常服务大约 50 个请求,在此期间,动态实例接收预热然后开始服务。