高HTTP超时值是否可能导致任何问题

问题描述 投票:0回答:1

我在SpringBoot上托管了一个OpenShift-Enterprise应用。我有一个请求由于与其他系统集成而需要花费更多时间。该请求恰好在504 Gateway timeout之后开始在浏览器上出现30s错误。

[经调查,我们发现OpenShift正在使用HA Proxy负载均衡,而该负载均衡具有client timeout30s

defaults
    timeout connect 10s
    timeout client 30s
    timeout server 30s
    log global
    mode http
    option httplog
    maxconn 3000

现在,我们通过将此值增加到一个较高的数字来解决此问题。但是,DevOps担心这可能会导致Stale Connection问题。我没有发现任何资源可以确认high value of HTTP timeouts could lead to such issues。我们想将新配置移至生产环境。

有什么想法吗?

spring-boot openshift haproxy http-status-code-504
1个回答
0
投票

您的DevOps团队对“过时的连接”有何关注?以我的经验,如果在您配置的特定超时时间内访问了大量请求,则LB或入口点(例如HAProxy)上的并发会话溢出问题可能会发生“过时的连接”。如果您的团队也担心这种风险,那么应该将需要较长时间的某个过程的访问路径分开,除非您将长时间过程固定为更短的时间。

例如,长时间的过程中只有一条路由可以使用“ haproxy.router.openshift.io/timeout”注释来配置特定的超时。请参阅“ Route-specific Annotations了解更多注释详细信息。

通常,与客户端最接近的入口点应比其他堆栈管理最多的会话,因此LB应设置比客户端超时值更长的超时。某些系统可以在其上配置300秒,因此首先您要通过性能测试等原因来检查为什么超时可能会成为“陈旧连接”的风险。

© www.soinside.com 2019 - 2024. All rights reserved.