HAProxy 配置文件主要包含全局(global)和代理配置,代理配置又细分为 default、frontend、backend、listen 部分。全局参数是进程范围的,通常特定于操作系统;它们通常仅设置一次,并且在设置正确后不需要更改。全局参数配置示例如下:
global
log 127.0.0.1 local0 info
maxconn 20480
daemon
pidfile /home/mongo/soft/haproxy-2.8.2/logs/haproxy.pid
1、进程管理及安全相关参数
参数 |
说明 |
daemon |
进程后台运行;相当于命令行 -D 参数 |
gid <number> |
设置运行进程的组 id |
group <group name> |
设置运行进程的组名,类似 gid |
log <address> [len <length>] [format <format>] |
设置 syslog 服务相关的信息,HAProxy 通过 syslog 来记录日志 |
pidfile <pidfile> |
设置进程id文件;相当于命令行 -p 参数 |
presetenv <name> <value> |
设置环境变量,如果已存在则不会覆盖 |
resetenv [<name> ...] |
除了在参数中指定的环境变量外,删除所有环境变量。 |
setenv <name> <value> |
设置环境变量,如果已存在则覆盖 |
uid <number> |
设置运行进程的用户 id |
ulimit-n <number> |
设置每个进程所能够打开的最大文件描述符数目,默认会自动进行计算,因此建议不要使用此选项 |
unsetenv [<name> ...] |
删除环境变量 |
user <user name> |
设置运行进程的用户名,类似 uid |
2、性能相关参数
参数 |
说明 |
maxcompcpuusage <number> |
设置 HAProxy 在停止对新请求进行压缩或降低当前请求的压缩级别之前,可以达到的最大 CPU 使用率。值为 100 表示禁用限制。默认值为 100。设置较低的值将防止压缩工作拖慢整个进程并引入高延迟。 |
maxcomprate <number> |
设置进程的输入压缩速率(千字节/秒)。对于每个会话,如果达到了最大值,会话期间的压缩级别将被降低。如果在会话开始时达到最大值,会话将根本不进行压缩。值为零表示没有限制,这是默认值。 |
maxconn <number> |
设置每个进程的最大并发连接数;相当于命令行 -n 参数 |
maxconnrate <number> |
设置每个进程的每秒连接数最大值 |
maxsslconn <number> |
设置每个进程的最大并发 SSL 连接数;默认情况下,没有 SSL 特定的限制,这意味着全局的 maxconn 设置将适用于所有连接。 |
maxsslrate <number> |
设置每个进程的每秒 SSL 连接数最大数 |
参考:http://docs.haproxy.org/2.8/configuration.html#3。