Haproxy 优化参数配置说明

2016-12-14 16:33:00
村里来的扫地僧
原创
1909
“global”配置中的参数为进程级别的参数,且通常与其运行的操作系统有关
chroot: 修改haproxy的工作目录至指定的目录,并在放弃权限之前执行chroot()操作,可以提升haproxy的安全级别,不过需要注意的是确保指定的目录为空目录且任何用户均不能有写权限
daemon:让haproxy以守护进程的方式工作于后台,其等同于“-D”选项的功能,当然,也可以在命令行中以“-db”选项将其禁用
gid:以指定的GID运行haproxy,建议使用专用于运行haproxy的GID,以避免因权限带来的风险
group:同gid,不过这里为指定的组名
uid: 已指定的UID身份运行haproxy进程
user:同uid,但这里使用的为用户名
log:定义全局的syslog服务器,最多可以定义两个
nbproc: 指定启动的haproxy进程个数,只能用于守护进程模式的haproxy;默认为止启动一个进程,鉴于调试困难等多方面的原因,一般只在但进程仅能打开少数文件描述符的场中中才使用多进程模式
pidfile: pid文件的存放位置
ulimit-n:设定每个进程所能够打开的最大文件描述符,默认情况下其会自动进行计算,因此不建议修改此选项
node:定义当前节点的名称,用于HA场景中多haproxy进程共享同一个IP地址时
description: 当前实例的描述信息
maxconn:设定每个haproxy进程所接受的最大并发连接数,其等同于命令行选项"-n","ulimit-n"自动计算的结果正式参照从参数设定的
maxpipes: haproxy使用pipe完成基于内核的tcp报文重组,此选项用于设定每进程所允许使用的最大pipe个数,每个pipe会打开两个文件描述符,因此,"ulimit -n"自动计算的结果会根据需要调大此值,默认为maxcoon/4
noepoll: 在linux系统上禁用epoll机制
nokqueue:在BSE系统上禁用kqueue机制
nopoll:禁用poll机制
nosepoll: 在linux系统上禁用启发式epoll机制
nosplice:禁止在linux套接字上使用tcp重组,这会导致更多的recv/send调用,不过,在linux2.6.25-28系列的内核上,tcp重组功能有bug存在
spread-checks<0..50,in percent>: 在haprorxy后端有着众多服务器的场景中,在紧缺是时间间隔后统一对中服务器进行健康状况检查可能会带来意外问题,此选项用于将检查的时间间隔长度上增加或减少一定的随机时长,为当前检查检测时间的%
tune.bufsize: 设定buffer的大小,同样的内存条件下,较小的值可以让haproxy有能力接受更多的并发连接,较大的值了可以让某些应用程序使用较大的cookie信息,默认为16384,其可以在编译时修改,不过强烈建议使用默认值
tune.chksize: 设定检查缓冲区的大小,单位为字节,更大的值有助于在较大的页面中完成基于字符串或模式的文本查找,但也会占用更多的系统资源,不建议修改
tune.maxaccept:设定haproxy进程内核调度运行时一次性可以接受的连接的个数,较大的值可以带来较大的吞吐量,默认为单进程模式下为100,多进程模式下为8,设定为-1可以禁止此限制,一般不建议修改
tune.maxpollevents:设定一次系统调用可以处理的事件最大数,默认值取决于OS,其至小于200时可介于带宽,但会略微增大网络延迟,但大于200时会降低延迟,但会稍稍增加网络带宽的占用
tune.maxrewrite:设定在首部重写或追加而预留的缓存空间,建议使用1024左右的大小,在需要更大的空间时,haproxy会自动增加其值
tune.rcvbuf.client:设定内核套接字中客户端接收缓存区的大小,单位为字节,强烈推荐使用默认值
tune.rcvbuf.server:设定内核套接字中服务器接收缓存区的大小,单位为字节,强烈推荐使用默认值
tune.sndbuf.client:设定内核套接字中客户端发送缓存区的大小,单位为字节,强烈推荐使用默认值
tune.sndbuf.server:设定内核套接字中服务器端发送缓存区的大小,单位为字节,强烈推荐使用默认值
debug  调试模式,输出启动信息到标准输出
quiet   安装模式,启动时无输出
发表评论
陆 减 零 =
评论通过审核后显示。