最近,我遇到了GCP上的内部http(s)负载平衡器的问题,涉及后端服务的超时(一个实例组)。300秒后,对LB的API调用将以408个HTTP响应失败。
我有一个内部HTTPS负载均衡器(LB)的GCP。首先,我通过LB调用一个快速API,它正常工作。然后,我将后端服务的超时设置为10秒,然后调用慢速API (例如,500秒来完成请求)。错误响应按预期在10秒后发生。但是,当我将超时设置为1000秒并调用慢速API时,仅需300秒就会收到错误超时响应。我还将连接超时时间增加到1000秒,但仍然无法工作。
我需要设置的参数是否允许响应时间超过300秒的API?谢谢。
发布于 2021-09-10 19:44:11
基于后端服务超时流量,客户端完成其请求的最大时间等于后端服务超时,我知道建议是增加超时以避免408个错误,我注意到您的慢应用程序需要更多300秒来完成HTTP请求,我更深入地回顾了这种行为,基于GCLB体系结构,您看到的300秒超时是流空闲超时提到的这里,请参阅下面的重述:
"request_timeout":->Backend服务超时->您已经配置了1000秒,这确保了一个HTTP请求应该在这个时间框架内完成,而不管连接不是空闲的,服务器发送的响应也很慢。
"stream_idle_timeout“:HTTP流不应该比这一次空闲更多,甚至假设服务器发送TCP保持活动,但没有http响应,如果http流空闲5分钟,LB将关闭连接。这是当前不可配置的,默认为5分钟。
idle_timeout:空闲超时定义为没有活动请求的时间段。现在是10分钟。
您所看到的行为似乎与stream_idle_timeout有关,我建议您在GCP中打开一个特征请求,以评估允许修改此值的可能性,建议共享再现该行为的所有细节和步骤。
https://serverfault.com/questions/1064593
复制相似问题