如何使用haproxy负载均衡mysql


当前第2页 返回上一页

日志,我们在生产线一般都是独立定义出来,定义方法如下:

(1)修改 haproxy.cfg 关于日志配置的选项,在global中加入如下配置,将info及notice日志分别记录到不同文件中。

1

2

log  /dev/log   local0 info

log  /dev/log   local1 notice

(2)修改rsyslog配置

为了便于管理,将haproxy相关的配置独立定义到 /etc/rsyslog.d/haproxy.conf 中。这部分配置将info和notice日志分别记录到 /var/log/haproxy181/{haproxy181-info.log,haproxy181-notice.log} 文件中,其中" & ~"表示当日志写入到日志文件后,rsyslog停止处理这个信息。这里配置的语法是rainerscript脚本语言写的。

1

2

3

4

5

# vim /etc/rsyslog.d/haproxy.conf

if ($programname == 'haproxy' and $syslogseverity-text == 'info')

 then -/var/log/haproxy181/haproxy181-info.log& ~if

 ($programname == 'haproxy' and $syslogseverity-text == 'notice')

 then -/var/log/haproxy181/haproxy181-notice.log& ~

检测haproxy.cfg配置文件语法是否正确

1

# /usr/local/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c

没有问题的话,就去掉-c选项,启动haproxy

1

# /usr/local/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg

1

2

3

[root@server181 haproxy]# ss -antulp | grep haproxy

tcp    LISTEN   0  128   *:3306     *:*    users:(("haproxy",pid=3315,fd=4))

tcp    LISTEN   0  128    *:7979   *:*    users:(("haproxy",pid=3315,fd=6))

配置haproxy开机自启动

1

2

# chmod +x /etc/rc.d/rc.local

# echo '/usr/local/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg' >> /etc/rc.d/rc.local

连接haproxy进行测试

1

2

3

4

5

6

7

8

9

10

11

# for i in $(seq 1 10); do mysql -utest -p123456 -h192.168.5.181 -e 'select @@server_id;'; done | egrep '[0-9]'

3306164

3306162

3306163

3306164

3306162

3306163

3306164

3306162

3306163

3306164

然后再拿一台服务器同样做haroxy,整合keepalived。远程系统用mysql客户端连接负载均衡vip进行登录,再逐个进行health check、failover等项目测试。

总结:

haproxy在中等规模负载之上有着相当低的CPU负载,甚至于在非常高的负载场景中,5%的用户空间占用率和95%的系统空间占用率也是非常普遍的现象,这意味着haproxy进程消耗比系统空间消耗低20倍以上。因此,对OS进行性能调优是非常重要的。即使用户空间的占用率提高一倍,其CPU占用率也仅为10%,这也解释了为何7层处理对性能影响有限这一现象。由此,在高端系统上haproxy的7层性能可轻易超过硬件负载均衡设备。

haproxy支持给tcp做代理的特性使得其还可以为mysql读库做负载均衡,并且能够发挥相当不错的性能。

以上就是如何使用haproxy负载均衡mysql的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

Linux如何查看环境变量

如何为 Linux 服务器快速简单的安装 grub

Linux的日志文件在哪

怎么配置属于自己的Linux服务器

Linux tar命令如何使用

如何在Linux中更改账户密码?(代码示例)

Linux怎么卸载mysql?

Linux用户怎么退出(命令)

Linux如何查看系统内存大小

vim目录树插件及文件搜索插件

更多相关阅读请进入《Linux》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...