首页 > 代码库 > haproxy参数优化

haproxy参数优化

global常用的优化配置:

    mode                    http

    log                     global

    option                  httplog

    option http-server-close

    option http-pretend-keepalive

    option forwardfor       except 127.0.0.0/8

    retries                 3

    timeout http-request    10s

    timeout queue           1m

    timeout connect         10s

    timeout client          1m

    timeout server          1m

    timeout http-keep-alive 10s

    timeout check           10s

    maxconn                 655350

参数详解

    mode:设置默认工作模式为http,也可以在backend段中单独设置

    option httplog:设置记录的日志格式更为详细,可以在frontend段中单独设置

    option http-server-close:主动断开长连接,当开启长连接时,应该开启此项

    注:当开启此选项时,haproxy在向后端服务器发送请求时,会在header中添加“Connection:close”,但是有些服务器看到此头部时,直接 会拒绝访问

    option http-pretend-keepalive:假装自己是保持连接的

    注:当开启此选项时,haproxy会去掉头部“Connection:close”,此选项与http-server-close一起使用

    option forwardfor:向后端转发客户端的真实IP,except表示排除指定的网段

    timeout http-request:当客户端发送的请求,在指定时间内发送不完整时,断开连接

    timeout connect:建立连接的超时时长

    timeout client:当客户超过多久不活动时的超时时长

    timeout http-keep-alive:长连接超时时长

    timeout check:健康检查超时时长

    maxconn:最大连接数

linux系统的优化:   

    1.长连接:如果不设置长连接,会造成大量的timewait

    2.缩短time_wait时间

      #cat /proc/sys/net/ipv4/tcp_fin_timeout  //查看timewait的默认保持时长,默认为60s

      永久生效在/etc/sysctl.conf中设置

      设置方法:net.ipv4.tcp_fin_timeout = 10

    3.设置time_wait快速回收和重用

      #cat /proc/sys/net/ipv4/tcp_tw_reuse

      #cat /proc/sys/net/ipv4/tcp_tw_recycle

      默认为0,设置为1

      设置方法:

        net.ipv4.tcp_tw_reuse = 1

        net.ipv4.tcp_tw_recycle = 1

    4.修改本地端口可用范围

      #cat /proc/sys/net/ipv4/ip_local_port_range

      默认为32768到61000

      建议把32768的值设的小一点,以便可以使用更多的端口,如设为1024

      设置方法:

        net.ipv4.ip_local_port_range = 4000 65535

        sysctl -p使设置生效

    5.设置可打开文件描述符,用ulimit -n进行查看,默认为1024

      echo ‘*  -  nofile  65535‘ >> /etc/security/limits.conf


本文出自 “激情燃烧的岁月” 博客,请务必保留此出处http://liuzhengwei521.blog.51cto.com/4855442/1927984

haproxy参数优化