负载均衡配置
来源:互联网 发布:樱井知香作品番号 编辑:程序博客网 时间:2024/05/21 15:01
环境描述:两个接口服务器(负载均衡),两个数据库服务器(负载均衡)
问题:拔掉数据库1的网线后恢复,数据库2的连接数一直很高,数据库1虽然恢复但是连接数还是很少
查看了下负载均衡配置,如下:
delay_loop 6lb_algo rrlb_kind DRpersistence_timeout 60protocol 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 6lb_algo lclb_kind DRprotocol TCP
0 0
- nginx配置负载负载均衡
- window2003负载均衡配置
- Window2003负载均衡配置
- window2003负载均衡配置
- CentOS负载均衡配置
- nginx 负载均衡配置
- Apache负载均衡配置
- TCP负载均衡配置
- Apache 负载均衡配置
- IHS 负载均衡配置
- Apache负载均衡配置
- Apache负载均衡配置
- RAC负载均衡配置
- Radware负载均衡配置
- nginx配置负载均衡
- Tomcat负载均衡配置
- apache负载均衡配置
- nginx负载均衡配置
- MySQL查询语句
- tomcat结合nginx使用小结
- 线段树
- ADO连接Oracle
- B/S系统的前台和后台数据转递机制探究
- 负载均衡配置
- 第三周作业务
- Nutch、heritrix、crawler4j优缺点
- Python编程的一些技巧
- javascript 变量名
- MySQL性能优化的最佳20+条经验
- priority_queue的用法
- HTTP状态码解释
- 第三周作业