我在GAE上构建并部署了一个应用。昨天似乎一切正常,每隔几秒钟向应用发送请求的请求将成功完成,响应时间约为2.5秒。如今,GAE继续为每个请求部署一个新实例,或者甚至无法创建一个实例,从而导致令人难以接受的高响应时间(以及更高的费用)甚至500个服务器错误。
我尝试暂停并重新启动应用几次,再次针对几个请求工作,然后恢复为相同的行为。在控制台上,我可以看到在处理请求后立即关闭了新实例,或者在发生服务器错误的情况下,GAE无法部署新实例。
我在控制台上检查了配额,似乎没有任何迹象表明我无法从同一IP发送多个请求。
有人遇到过此类问题吗?如果是,请问原因和补救措施是什么?请注意,我对GAE还是很陌生,所以现在没有关于从哪里开始的进一步线索。
编辑:刚刚意识到实例使用的平均内存(在我的情况下为F2,为您提供256MB)非常接近最大值(250MB)。可能是问题吗?我将升级到F4(512MB),然后看看会发生什么。
答案 0 :(得分:0)
根据documentation-可以根据请求率,响应延迟和其他应用程序指标创建一个新实例。
因此,GAE Standard实例的预期行为是根据其收到的流量来扩大和缩小。
此外,如果达到了实例类的最大内存使用量,则会触发here中所述的关闭过程。
对于无法创建新实例的情况,如果没有Stackdriver Logging信息,很难说出是什么原因造成的。在我的头上,由于到达response limit,您可能会收到HTTP 500错误,但实际上也可能由于其他原因而发生。
最后,考虑到问题的性质,我认为使用更好的实例类并比较结果来测试GAE应用的行为是个好主意。如果您不再使用F4实例类来体验这种情况,可以安全地假定以前的实例类不足以满足应用程序的要求。