haproxy 里的超时
2024-08-26 05:25:55
haproxy 中的超时
客户端请求阶段
- timeout client
- haproxy 和客户端通信时,连接不活跃的时间,既不发送数据,也不ack接收的数据
- 如果未设置,则永不超时,此时连接是否超时依赖于tcp连接本身的机制
- timeout http-request
- tcp 连接建立后,直到所有头部发送完毕的时间
- 如果未设置,则使用 timeout client 的值
- 如果 frontend 是 tcp 模式,则使用 backend 中的 timeout http-request
- timeout http-keep-alive
- 当开启 option http-keep-alive 时,haproxy 处理完请求 A ,等待连接上请求 B ,请求 A 结束到请求 B 开始之间的间隔时间
- 如果未设置,则使用 timeout client
- 如果 frontend 是 tcp 模式,则使用 backend 中的 timeout http-keep-alive
- timeout client-fin
- 当客户端和 haproxy 的连接的一端已经 shutdown 时,该连接不活跃的时间
- 如果未设置
- 非隧道连接,使用 timeout client
- 隧道连接,如 RDB/WebSocket ,使用 timeout tunnel
haproxy 转发阶段
- timeout queue
- 当 haproxy 接受客户端请求后,如果暂时找不到可以立即转发的后端,此时会将该连接放置在 backend 或者 server 的请求队列中,等待有 server 可以处理请求时,就转发过去
- timeout queue 指定的是,某个请求被放置在队列中的最大时间,如果超时,则认为该请求不能被处理,返回 503 给客户端
- 如果未设置,则使用 timeout connect
- timeout connect
- haproxy 和后端建立 tcp 连接的超时时间
- 如果未设置则永不超时
后端响应阶段
- timeout server
- haproxy和后端通信时,连接不活跃的时间,即既不发送数据,也不 ack 接收的数据
- timeout server-fin
- 当 haproxy 和后端的连接的一端已经 shutdown 时,该连接不活跃的时间
- 如果未设置
- 非隧道连接,使用 timeout server
- 隧道连接,使用 timeout tunnel
特殊场景
timeout tunnel
- 隧道连接的场景
- http 连接升级后 WebSocket 之后
- 转发 CONNECT 请求 给http 代理
- tcp 连接
- 隧道连接建立后,该连接双向不活跃的时间,即连接上既不发送数据,也不接收数据
- 当连接转换为隧道连接后,timeout client/timeout server 都将被 timoeut tunnel 取代
- 隧道连接的场景
timeout tarpit
- 当 http 请求被 http-request tarpit 指令标记后,haproxy 会将连接维持 timeout tarpit 的时间,如果超时后,该连接仍然未关闭,就回复 500 响应码给客户端,参看 http-request tarpit 的说明
最新文章
- 分享:使用 TypeScript 编写的 JavaScript 游戏代码
- Material Design 概念,环境和基本属性
- 安卓app中嵌入一个H5页面,当手机系统设置字体变大时,如何使H5页面的字体不会随用户自己调整的系统字体变化而变化?
- jsp放在web-inf下的注意事项
- Redis Key 命令
- JQ将数组转换为Json
- mysql 存储过程 demo
- LintCode ";Triangle Count";
- HDU4836 The Query on the Tree(树状数组&;&;LCA)
- HTTP 请求方式: GET和POST的比较
- 【译】Android系统简介
- Redis hash数据类型操作
- android学习小例子——验证码倒计时按钮
- mysql主从同步(3)-percona-toolkit工具(数据一致性监测、延迟监控)使用梳理
- idea连接服务器上传jar并运行
- MyExceptionFilter 异常注入
- HDU5470 Typewriter SAM 动态规划 单调队列
- python简述
- 复习python
- Android中简单活动窗口的切换--Android
热门文章
- 扩展Linux网络栈
- [BJDCTF2020]Cookie is so stable &;&; [GWCTF 2019]枯燥的抽奖
- 当你在浏览器输入一个网址(如http://www.taobao.com),按回车之后发生了什么?
- 基于jaccard相似度的LSH
- React Native学习记录
- Unity 黑暗之光 笔记 第三章
- selenium 浏览器的操作
- 浅谈 FHQ-Treap
- Java篇:Docker的介绍安装 和常用命令
- 解决Windows2019登录黑屏问题