3、Haproxy Global配置
3.1、global配置参数
Global settings全局配置,用于设定全局配置参数
daemon: 以守护进程模式运行
chroot /var/lib/haproxy: 锁定运行目录
user haproxy: 运行haproxy进程用户身份
group haproxy: 运行haproxy进程用户组身份
maxconn 4000: 设定每个haproxy进程所接受的最大并发连接数
cpu-map 1 0: cpu亲和,第一个参数时进程编序号,第二个参数时cpu序号
nbproc : 指定启动haproxy进程数量,默认启动一个进程
nbthread : 指定启动haproxy线程数量,默认启动一个线程,不允许和nbproc同时使用
log 127.0.0.1 local2: 日记记录通过本地rsyslog的local2设备写入
stat socket /var/lib/haproxy/stats: 基于socket通信,可实现动态变更配置
spread-checks : 在haproxy后端有着众多的服务器节点,如果同时进行健康检查,则会对haproxy造成较大的性能影响;
此选项用于将其检查的时间间隔长度上增加或减少一定随机时长,官方建议2-5(20%-50%)之间,如果后端主机较多的情况下(比如1000台甚至更多)能
够避免同时并发对后端主机check时,减少对haproxy的性能影响
3.2、配置多进程运行
#配置haproxy以多进程方式运行
vim /etc/haproxy/haproxy.cfg
#Global settings
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
#将1234进程绑定至0123的cpu核心
nbproc 4
cpu-map 1 0
cpu-map 2 1
cpu-map 3 2
cpu-map 4 3
#检查多进程详情
pstree -p
|-haproxy(2652)--haproxy(2655)
| |-haproxy(2656)
| |-haproxy(2657)
| |-haproxy(2658)
3.3、配置多线程运行
#配置Haproxy以多线程方式运行
vim /etc/haproxy/haproxy.cfg
#nbproc 4
nbthread 8
systemctl restart haproxy
ps -ef|grep haproxy
root 111991 1 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
haproxy 111994 111991 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
pstree -p
|-haproxy(111991)--haproxy(111994)--{haproxy}(111995)
|-{haproxy}(111996)
|-{haproxy}(111997)
|-{haproxy}(111998)
|-{haproxy}(111999)
|-{haproxy}(112000)
|-{haproxy}(112001)
3.4、配置访问日志
1、修改haproxy配置
vim /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local2
2、修改rsyslog配置
vim /etc/rsyslog.conf
#启用rsyslog的udp
$ModLoad imudp
$UDPServerRun 514
#启用级别为local2的设备,将该设备的所有级别的日志全部输出到/var/log/haproxy.log下
local2.* /var/log/haproxy.log
3、重启haproxy以及rsyslog服务
systemctl restart rsyslog haproxy
tail -f /var/log/haproxy.log
haproxy[108737]: 10.0.0.91:58310 main app/web01 0/0/0/1/1 200 818 "GET / HTTP/1.1"
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
前言 多级指针在C语言中是一种特殊的指针类型,它可以指向其他指针的指针。 通过多级指针,我们可以间接地访问或修改存储在内存中的数据。 在本文中,我们将讨论多级指针的概念、使用方法、使用场景以及常见错误及其避免方法。 一、人物简介 第一位闪亮登场,有请今后会一直…