Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 对GAE应用程序的请求因连接重置而失败_Google App Engine - Fatal编程技术网

Google app engine 对GAE应用程序的请求因连接重置而失败

Google app engine 对GAE应用程序的请求因连接重置而失败,google-app-engine,Google App Engine,我们的GAE python应用程序公开了一个被外部客户机系统(基于Java的,如果有必要的话)攻击的API。绝大多数请求(每天数万个)都可以正常工作,但是一些请求(每天少于10个)失败,客户端报告“由对等方重置连接”错误。当这种情况发生时,客户端系统触发了多个成功完成的API调用,因此我们排除了客户端的连接问题 GAE日志仅显示与应用程序相关的故障,但其他类型的故障(例如连接错误)不会出现在日志中,因此我们无法真正说明这些API调用失败的原因 除了日志之外,还有什么方法可以更好地识别此类问题吗

我们的GAE python应用程序公开了一个被外部客户机系统(基于Java的,如果有必要的话)攻击的API。绝大多数请求(每天数万个)都可以正常工作,但是一些请求(每天少于10个)失败,客户端报告“由对等方重置连接”错误。当这种情况发生时,客户端系统触发了多个成功完成的API调用,因此我们排除了客户端的连接问题

GAE日志仅显示与应用程序相关的故障,但其他类型的故障(例如连接错误)不会出现在日志中,因此我们无法真正说明这些API调用失败的原因

除了日志之外,还有什么方法可以更好地识别此类问题吗

接受API调用的GAE模块具有以下缩放属性

instance_class: B2
basic_scaling:
  max_instances: 5
  idle_timeout: 1m

在发生故障时,只有2个(最多5个)实例在运行,因此GAE模块低于其扩展限制。API调用平均在不到500毫秒的时间内完成,我们从未见过超过60毫秒的日志错误“请求的限制。总的来说,模块似乎没有过载。可能是其他原因吗?

在我看来,解决问题的最好办法是在连接重置时尝试在代码中加入一个算法,因为它会“优雅地失败”,然后重试

我还建议转移到,在那里玩你的最大等待时间和最小等待时间,你可能会帮助解决这些问题。我没有关于如何解决您的问题的详细信息,但我想,处理这些问题可能会带来一些结果