负载均衡配置

环境描述:两个接口服务器(负载均衡),两个数据库服务器(负载均衡)

问题:拔掉数据库1的网线后恢复,数据库2的连接数一直很高,数据库1虽然恢复但是连接数还是很少

查看了下负载均衡配置,如下:

delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 60
protocol TCP
分析1:
查找资料后发现,persistence_timeout表示同一IP的链接在配置的时间内会被分配到同一台real_server,因此初步判断是因为我们的接口服务器会在60s内同数据库服务器建立连接,而数据库1就算断网恢复,但是因为之前的连接都未失效,所以下次还是连接数据库2,导致负载都在数据库2而没有分给数据库1。

解决方法1:

去掉persistence_timeout参数,经过测试发现,去掉后即可实现均衡分配。

分析2:

去掉了时间,查了下算法是rr,rr表示轮询,即把每项请求按顺序在真正服务器中分派。再用上述情景模拟一次,比如数据库1断网后数据库2连接数为100,数据库1恢复后又有100个连接,结果就是数据库1连接数为150,数据库2连接数为50。这样还是会导致一台数据库停用后就算恢复负载也不能均衡。

解决方法2:

我们的服务器都一样,即性能都一样,因此选用lc算法,lc 最少链接(Least Connections)调度器通过”最少连接”调度算法动态地将网络请求调度到已建立的链接数最少的服务器上。如果集群系统的真实服务器具有相近的系统性能,采用”最小连接”调度算法可以较好地均衡负载。

经过测试,假如数据库1短网,数据库2连接数为100,数据库1恢复后又有100个连接,此时的结果就是数据库1还是100连接,数据库2有100连接。符合我们的要求。

最终配置

delay_loop 6
lb_algo lc
lb_kind DR
protocol TCP


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值