Haproxy 中 timeout connect / timeout client / timeout server 的含义


在pingcap官网看到haproxy推荐配置,有几个timeout设置的非常大,是在不明白为什么这样设置。请各位老师帮忙解答。

你好,

mysql 中默认空闲连接断开时间为 8h,貌似也是为了兼容 mysql 而配置,这个参数可以根据当前服务要求来配置,灵活选择即可。

timeout connect 10s
timeout client 1m
timeout server 1m
这个三个超时具体的表达是: 加入我的业务SQL查询超过了一分钟,是不是就会出错。或者连接时间超过了10S出错

你好,

haproxy 为开源软件,可以了解此参数在官方文档中的描述。

timeout connect 设置用于配置 HAProxy 等待与后端服务器建立 TCP 连接的时间。后缀“ s”表示秒。不带任何后缀,时间以毫秒为单位。

timeout client 设置用于衡量我们期望客户端在 speaking 或发送 TCP 期间不活动的时间。

当我们期望后端服务器 speaking 时,timeout server 设置会测量不活动状态。超时到期后,连接将关闭。合理的超时可以减少死锁的进程占用连接的风险。

建议在以 tcp 作为连接时,将 timeout server 和 timeout clicent 设置相同时间,以免发生判断混乱。