haproxy 中的超时

客户端请求阶段

  1. timeout client

    1. haproxy 和客户端通信时,连接不活跃的时间,既不发送数据,也不ack接收的数据
    2. 如果未设置,则永不超时,此时连接是否超时依赖于tcp连接本身的机制
  2. timeout http-request
    1. tcp 连接建立后,直到所有头部发送完毕的时间
    2. 如果未设置,则使用 timeout client 的值
    3. 如果 frontend 是 tcp 模式,则使用 backend 中的 timeout http-request
  3. timeout http-keep-alive
    1. 当开启 option http-keep-alive 时,haproxy 处理完请求 A ,等待连接上请求 B ,请求 A 结束到请求 B 开始之间的间隔时间
    2. 如果未设置,则使用 timeout client
    3. 如果 frontend 是 tcp 模式,则使用 backend 中的 timeout http-keep-alive
  4. timeout client-fin
    1. 当客户端和 haproxy 的连接的一端已经 shutdown 时,该连接不活跃的时间
    2. 如果未设置
      1. 非隧道连接,使用 timeout client
      2. 隧道连接,如 RDB/WebSocket ,使用 timeout tunnel

haproxy 转发阶段

  1. timeout queue

    1. 当 haproxy 接受客户端请求后,如果暂时找不到可以立即转发的后端,此时会将该连接放置在 backend 或者 server 的请求队列中,等待有 server 可以处理请求时,就转发过去
    2. timeout queue 指定的是,某个请求被放置在队列中的最大时间,如果超时,则认为该请求不能被处理,返回 503 给客户端
    3. 如果未设置,则使用 timeout connect
  2. timeout connect
    1. haproxy 和后端建立 tcp 连接的超时时间
    2. 如果未设置则永不超时

后端响应阶段

  1. timeout server

    1. haproxy和后端通信时,连接不活跃的时间,即既不发送数据,也不 ack 接收的数据
  2. timeout server-fin
    1. 当 haproxy 和后端的连接的一端已经 shutdown 时,该连接不活跃的时间
    2. 如果未设置
      1. 非隧道连接,使用 timeout server
      2. 隧道连接,使用 timeout tunnel

特殊场景

  1. timeout tunnel

    1. 隧道连接的场景

      1. http 连接升级后 WebSocket 之后
      2. 转发 CONNECT 请求 给http 代理
      3. tcp 连接
    2. 隧道连接建立后,该连接双向不活跃的时间,即连接上既不发送数据,也不接收数据
    3. 当连接转换为隧道连接后,timeout client/timeout server 都将被 timoeut tunnel 取代
  2. timeout tarpit

    1. 当 http 请求被 http-request tarpit 指令标记后,haproxy 会将连接维持 timeout tarpit 的时间,如果超时后,该连接仍然未关闭,就回复 500 响应码给客户端,参看 http-request tarpit 的说明

haproxy 里的超时的更多相关文章

  1. haproxy 服务端超时时间 timeout server 17000 --后台程序17秒没有响应,返回超时

    haproxy 服务端超时时间: haproxy 配置: timeout server 17000 --后台程序17秒没有响应,返回超时 Jun 27 09:29:56 localhost hapro ...

  2. haproxy windows环境使用

    haproxy下载:http://pan.baidu.com/s/1miEvQUc 测试环境说明: ip地址 作用 开放端口 备注 nbproc 1 daemon defaults mode tcp ...

  3. Haproxy+Keepalived高可用负载均衡详细配置

    本文所使用的环境: 10.6.2.128    centos6.5 10.6.2.129    centos6.5 VIP  为10.6.2.150 要实现的目标: 实现10.6.2.128和10.6 ...

  4. 负载均衡之Haproxy配置详解(及httpd配置)

    下图描述了使用keepalived+Haproxy主从配置来达到能够针对前段流量进行负载均衡到多台后端web1.web2.web3.img1.img2.但是由于haproxy会存在单点故障问题,因此使 ...

  5. 关于haproxy

    高性能负载均衡软件 haproxy 一.四层和七层负载均衡的区别: 所谓的四层就是OSI参考模型中的第四层,四层负载均衡也称为四层交换机,他主要是通过分析IP层及TCP/UDP层的流量实现的基于IP加 ...

  6. 【 HAProxy 】学习笔记

    一.haproxy的功能: HAProxy vs LVS        HAProxy支持tcp和http两种代理模式,而lvs仅支持tcp代理模式        HAProxy相比LVS的使用要简单 ...

  7. centos7 部署haproxy

    第一章 :haproxy介绍 1.1 简介 HAProxy 是一款提供高可用性.负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. ...

  8. Keepalived+HAProxy 搭建高可用负载均衡

    转载自:https://mp.weixin.qq.com/s/VebiWftaRa26x1aA21Jqww 1. 概述 软件负载均衡技术是指可以为多个后端服务器节点提供前端IP流量分发调度服务的软件技 ...

  9. 对比Haproxy和Nginx负载均衡效果

    为了对比Hproxy和Nginx负载均衡的效果,分别在测试机上(以下实验都是在单机上测试的,即负载机器和后端机器都在一台机器上)做了这两个负载均衡环境,并各自抓包分析.下面说下这两种负载均衡环境下抓包 ...

随机推荐

  1. LeetCode初级算法之数组:217 存在重复元素

    存在重复元素 题目地址:https://leetcode-cn.com/problems/contains-duplicate/ 给定一个整数数组,判断是否存在重复元素.如果任意一值在数组中出现至少两 ...

  2. IAR环境定义位变量标志位 STM8 MSP430通用

    首先建立一个公共点H文件,加入通用代码如下 typedef union { struct { unsigned char b0:1; unsigned char b1:1; unsigned char ...

  3. 【自用】Notice

    读题 不要把 \(\sum a \oplus b\) 看成异或和. 注意读完整,有可能对原有符号有新的约定,不要想当然. 注意模数的 0 数清楚. 卡常&时间 打题之前一般先搞个自己的缺省源. ...

  4. 【题解】CIRU - The area of the union of circles [SP8073] \ 圆的面积并 [Bzoj2178]

    [题解]CIRU - The area of the union of circles [SP8073] \ 圆的面积并 [Bzoj2178] 传送门: \(\text{CIRU - The area ...

  5. centos安装scrapy

    安装scrapy centos 7 安装scrapy报错说找不到scrapy需要的Twisted13.0以上版本? Collecting Twisted>=13.1.0 (from Scrapy ...

  6. MySQL的binlog有啥用?谁写的?在哪里?怎么配置

    目录 一.唠嗑 二.什么是bin log? 三.它在哪里? 四.bin log的相关配置 五.binlog 有啥用? 六.超有用的参数 sql_log_bin 七.未来几篇文章 推荐阅读 一.唠嗑 文 ...

  7. CD租赁售卖系统javaweb系统展示SSM框架

    一.功能要点 1.管理员登录 2.用户注册登录 3.用户权限,可以查看可借或可买cd,并实现对cd的买租 4.管理员可以添加cd, 5.cd的类型,价格由管理员设置 二.运行环境 数据库mysql: ...

  8. 聚焦LS-MIMO的四大层面,浅谈5G关键技术

    摘要:本文简要讲述了5G关键技术之一的LS-MIMO,分别从导频污染.信道估计.预编码技术.信号检测四个部分入手. 导频污染 理想情况下,时分复用(TDD)系统中上行链路和下行链路之间各个导频符号之间 ...

  9. Service Cloud 零基础(二)Knowledge浅谈

    本篇参考:https://trailhead.salesforce.com/content/learn/projects/set-up-salesforce-knowledge https://tra ...

  10. vue 循环结构 v-for

    循环结构 v-for 循环数组 用于循环取得数据,类似于js中for-in循环 ,其中in左侧为值,其名称可以自定义,in后为想要取出数据的变量名 运行可以得到结果 in左侧不仅仅只可以放一个值,不仅 ...