LVS的调度算法分析
LVS调度算法
一、静态调度算法
1、 rr(round robin)轮询调度,即调度器将客户端的请求依次的传递给内部的服务器,从1到N,算法简洁,无须记录状态,但是不考虑每台服务器的性能。
配置如下:
[root@UCS-3 ~]# ipvsadm -At 192.168.5.10:80 -s rr
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:80 -r 192.168.5.11:80 -g
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:80 -r 192.168.5.12:80 –g
测试如下:
[root@UCS-3 ~]# ipvsadm -L -c
IPVS connection entries
pro expire state source virtual destination
TCP 01:32 FIN_WAIT 192.168.101.190:49767 192.168.5.10:http 192.168.5.11:http
TCP 01:29 FIN_WAIT 192.168.101.190:49766 192.168.5.10:http 192.168.5.12:http
TCP 01:48 FIN_WAIT 192.168.6.1:4422 192.168.5.10:http 192.168.5.12:http
TCP 01:29 FIN_WAIT 192.168.101.190:49764 192.168.5.10:http 192.168.5.12:http
TCP 01:29 FIN_WAIT 192.168.101.190:49765 192.168.5.10:http 192.168.5.11:http
TCP 01:52 FIN_WAIT 192.168.6.1:4423 192.168.5.10:http 192.168.5.11:http
TCP 01:48 FIN_WAIT 192.168.6.1:4423 192.168.5.10:http 192.168.5.11:http
TCP 01:42 FIN_WAIT 192.168.6.1:4423 192.168.5.10:http 192.168.5.11:http
2、 wrr (weight round robing) 加权轮调度,在轮调度的基础上进行加权,即内部的服务器授予不同的权值,权值越高服务器调度次数越多。可以考虑不同性能的服务器。
配置如下:
[root@UCS-3 ~]# ipvsadm -At 192.168.5.10:80 -s wrr
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:80 -r 192.168.5.11:80 -w 10 -g
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:80 -r 192.168.5.12:80 -w 20 –g
测试如下:
[root@UCS-3 ~]# ipvsadm -L -c
IPVS connection entries
pro expire state source virtual destination
TCP 01:57 FIN_WAIT 192.168.101.190:49821 192.168.5.10:http 192.168.5.11:http
TCP 01:54 FIN_WAIT 192.168.101.190:49820 192.168.5.10:http 192.168.5.12:http
TCP 01:51 FIN_WAIT 192.168.101.190:49819 192.168.5.10:http 192.168.5.12:http
3、 sh (source hashing )源地址散列算法,主要实现会话绑定功能,将此前建立的session信息保留
配置如下:
[root@UCS-3 ~]# ipvsadm -At 192.168.5.10:80 -s sh
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:80 -r 192.168.5.11:80 -g
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:80 -r 192.168.5.12:80 –g
测试如下:
[root@UCS-3 ~]# ipvsadm -L -c
IPVS connection entries
pro expire state source virtual destination
TCP 01:42 FIN_WAIT 192.168.6.1:4974 192.168.5.10:http 192.168.5.11:http
TCP 01:54 FIN_WAIT 192.168.6.1:4996 192.168.5.10:http 192.168.5.11:http
TCP 01:52 FIN_WAIT 192.168.6.1:4978 192.168.5.10:http 192.168.5.11:http
TCP 01:38 FIN_WAIT 192.168.6.1:4972 192.168.5.10:http 192.168.5.11:http
TCP 01:31 FIN_WAIT 192.168.101.190:49861 192.168.5.10:http 192.168.5.12:http
TCP 01:22 FIN_WAIT 192.168.101.190:49859 192.168.5.10:http 192.168.5.12:http
TCP 01:33 FIN_WAIT 192.168.101.190:49862 192.168.5.10:http 192.168.5.12:http
TCP 01:45 FIN_WAIT 192.168.6.1:4977 192.168.5.10:http 192.168.5.11:http
4、 DH算法(destination hashing),目标地址散列,把同一个IP地址的请求发送给同一个server
配置如下:
[root@UCS-3 ~]# ipvsadm -At 192.168.5.10:80 -s dh
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:80 -r 192.168.5.11:80 -g
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:80 -r 192.168.5.12:80 -g
[root@UCS-3 ~]# ipvsadm -At 192.168.5.10:21 -s dh
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:21 -r 192.168.5.12:21 -g
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:21 -r 192.168.5.11:21 -g
[root@UCS-3 ~]# ipvsadm -At 192.168.5.10:20 -s dh
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:20 -r 192.168.5.11:20 -g
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:20 -r 192.168.5.12:20 –g
测试如下:
[root@UCS-3 ~]# ipvsadm -L -c
IPVS connection entries
pro expire state source virtual destination
TCP 14:39 ESTABLISHED 192.168.101.190:49884 192.168.5.10:ftp 192.168.5.11:ftp
TCP 01:55 FIN_WAIT 192.168.6.1:amx-axbnet 192.168.5.10:http 192.168.5.12:http
TCP 01:49 FIN_WAIT 192.168.101.190:49888 192.168.5.10:http 192.168.5.12:http
TCP 00:25 FIN_WAIT 192.168.101.190:49883 192.168.5.10:http 192.168.5.12:http
TCP 13:57 ESTABLISHED 192.168.6.1:pictrography 192.168.5.10:ftp 192.168.5.11:ftp
二、动态调度算法
1、 lc(least-connection):最少连接
最少连接调度算法是把心的连接请求分配到当前连接数最小的服务器,最小连接调度是一种动态调度算法,它通过服务器当前所有活跃的连接数来评估计算服务器的负载均衡,我们也可以引入当服务器的权值为0时,表示该服务器不可用而不被调度。
简单计算方法:active*256+inactive(谁连接数小,分配谁)
配置如下:
[root@UCS-3 ~]# ipvsadm -At 192.168.5.10:80 -s lc
[root@UCS-3 ~]# ipvsadm -At 192.168.5.10:20 -s lc
[root@UCS-3 ~]# ipvsadm -At 192.168.5.10:21 -s lc
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:80 -r 192.168.5.11:80 -g
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:80 -r 192.168.5.12:80 -g
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:21 -r 192.168.5.12:21 -g
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:21 -r 192.168.5.11:21 -g
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:20 -r 192.168.5.11:20 -g
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:20 -r 192.168.5.12:20 –g
测试如下:
[root@UCS-3 ~]# ipvsadm -L -c
IPVS connection entries
pro expire state source virtual destination
TCP 01:53 FIN_WAIT 192.168.101.190:49929 192.168.5.10:http 192.168.5.11:http
TCP 14:21 ESTABLISHED 192.168.101.190:49884 192.168.5.10:ftp 192.168.5.11:ftp
TCP 14:32 ESTABLISHED 192.168.101.190:49927 192.168.5.10:ftp 192.168.5.12:ftp
TCP 01:47 FIN_WAIT 192.168.6.1:hypercube-lm 192.168.5.10:http 192.168.5.11:http
TCP 14:41 ESTABLISHED 192.168.6.1:mvel-lm 192.168.5.10:ftp 192.168.5.12:ftp
TCP 01:52 FIN_WAIT 192.168.101.190:49928 192.168.5.10:http 192.168.5.12:http
TCP 01:45 FIN_WAIT 192.168.6.1:moldflow-lm 192.168.5.10:http 192.168.5.12:http
TCP 14:38 ESTABLISHED 192.168.6.1:pictrography 192.168.5.10:ftp 192.168.5.11:ftp
2、 wlc(weighted Least-conncetion Scheduling):加权最少连接
加权最小连接调度的算法是最小连接调度的超集,各个服务器用相应的权值表示其处理性能,服务器的缺省值为1,系统管理员可以动态的设置服务器的权限,加权最小连接调度在调度新的连接时尽可能使服务器的已建立连接数和其权值成比例。
配置如下:
[root@UCS-3 ~]# ipvsadm -At 192.168.5.10:80 -s wlc
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:80 -r 192.168.5.11:80 -w 10 -g
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:80 -r 192.168.5.12:80 -w 20 –g
测试如下:
[root@UCS-3 ~]# ipvsadm -L -c
IPVS connection entries
pro expire state source virtual destination
TCP 01:49 FIN_WAIT 192.168.6.1:acl-manager 192.168.5.10:http 192.168.5.12:http
TCP 01:40 FIN_WAIT 192.168.101.190:50511 192.168.5.10:http 192.168.5.12:http
TCP 01:38 FIN_WAIT 192.168.101.190:50509 192.168.5.10:http 192.168.5.12:http
TCP 01:47 FIN_WAIT 192.168.6.1:newoak 192.168.5.10:http 192.168.5.12:http
TCP 01:35 FIN_WAIT 192.168.101.190:50507 192.168.5.10:http 192.168.5.12:http
TCP 01:52 FIN_WAIT 192.168.6.1:applusservice 192.168.5.10:http 192.168.5.11:http
TCP 01:45 FIN_WAIT 192.168.6.1:dnx 192.168.5.10:http 192.168.5.11:http
TCP 01:37 FIN_WAIT 192.168.101.190:50508 192.168.5.10:http 192.168.5.11:http
简单算法:(active*256+inactive)/weight[(活动的连接数+1)*256/权重](哪个值小,分配哪个)
3、 sed(shortest Expected Delay):最短期望延迟
配置如下:
[root@UCS-3 ~]# ipvsadm -At 192.168.5.10:80 -s sed
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:80 -r 192.168.5.11:80 -g
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:80 -r 192.168.5.12:80 –g
测试结果:
[root@UCS-3 ~]# ipvsadm -L -c
IPVS connection entries
pro expire state source virtual destination
TCP 01:55 FIN_WAIT 192.168.6.1:aeroflight-ads 192.168.5.10:http 192.168.5.12:http
TCP 01:27 FIN_WAIT 192.168.101.190:51430 192.168.5.10:http 192.168.5.12:http
TCP 01:52 FIN_WAIT 192.168.6.1:etebac5 192.168.5.10:http 192.168.5.12:http
4、 nq(never queue)永不排队,如果服务器的连接数等于0,就直接分配过去,不需要进行sed计算。
配置如下:
[root@UCS-3 ~]# ipvsadm -At 192.168.5.10:80 -s nq
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:80 -r 192.168.5.11:80 –g
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:80 -r 192.168.5.12:80 –g
测试结果如下:
[root@UCS-3 ~]# ipvsadm -L -c
IPVS connection entries
pro expire state source virtual destination
TCP 01:55 FIN_WAIT 192.168.101.190:51478 192.168.5.10:http 192.168.5.12:http
TCP 01:51 FIN_WAIT 192.168.6.1:pciarray 192.168.5.10:http 192.168.5.12:http
TCP 01:56 FIN_WAIT 192.168.101.190:51479 192.168.5.10:http 192.168.5.12:http
TCP 01:43 FIN_WAIT 192.168.101.190:51477 192.168.5.10:http 192.168.5.12:http
TCP 01:49 FIN_WAIT 192.168.6.1:hecmtl-db 192.168.5.10:http 192.168.5.12:http
[root@UCS-3 ~]#
5、 LBLC(Locality-Based Least Connection0):基于局部性的最少连接。
基于局部性的最少连接的算法是针对于请求报文的目标IP地址的负载均衡调度,主要用于Cache集群系统,算法设计的目标在于负载平衡的情况下,将相同的目标IP地址的请求调度到同一台服务器。
配置如下:
[root@UCS-3 ~]# ipvsadm -At 192.168.5.10:80 -s lblc
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:80 -r 192.168.5.11:80 -g
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:80 -r 192.168.5.12:80 –g
测试结果:
[root@UCS-3 ~]# ipvsadm -L -c
IPVS connection entries
pro expire state source virtual destination
TCP 01:53 FIN_WAIT 192.168.6.1:ecsqdmn 192.168.5.10:http 192.168.5.12:http
TCP 01:44 FIN_WAIT 192.168.101.190:51971 192.168.5.10:http 192.168.5.12:http
TCP 01:51 FIN_WAIT 192.168.6.1:ibm-mqseries2 192.168.5.10:http 192.168.5.12:http
TCP 01:47 FIN_WAIT 192.168.101.190:51972 192.168.5.10:http 192.168.5.12:http
[root@UCS-3 ~]#
6、 LBLCR(locality-Based Least Connections withReplication)带复制的基于局部性最少链接
带复制的基于局部性最少链接同样是针对于目标IP地址的负载均衡,该算法根据请求的目标IP地址查找对应的服务器组,按照“最少链接”原则从集群中选择出一台服务器,将该服务器加入到组中,将请求发送到该服务器。同时,当该服务器组有一段时间没有被修改,将最忙的服务器从服务器组删除,以降低复制的程度。
配置:
[root@UCS-3 ~]# ipvsadm -At 192.168.5.10:80 -s lblcr
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:80 -r 192.168.5.11:80 -g
[root@UCS-3 ~]# ipvsadm -at 192.168.5.10:80 -r 192.168.5.12:80 –g
测试结果:
[root@UCS-3 ~]# ipvsadm -L -c
IPVS connection entries
pro expire state source virtual destination
TCP 01:44 FIN_WAIT 192.168.101.190:52033 192.168.5.10:http 192.168.5.12:http
TCP 01:51 FIN_WAIT 192.168.6.1:netiq-ncap 192.168.5.10:http 192.168.5.12:http
TCP 01:46 FIN_WAIT 192.168.101.190:52034 192.168.5.10:http 192.168.5.12:http
TCP 01:53 FIN_WAIT 192.168.6.1:rockwell-csp1 192.168.5.10:http 192.168.5.12:http
TCP 01:41 FIN_WAIT 192.168.6.1:rockwell-csp1 192.168.5.10:http 192.168.5.12:http
TCP 01:55 FIN_WAIT 192.168.6.1:ivsd 192.168.5.10:http 192.168.5.12:http
[root@UCS-3 ~]#
LVS的调度算法分析的更多相关文章
- rt-thread的位图调度算法分析
转自:http://blog.csdn.net/prife/article/details/7077120 序言 期待读者 本文期待读者有C语言编程基础,后文中要分析代码,对其中的一些C语言中的简单语 ...
- 流水车间调度算法分析的简单+Leapms实践--混合整数规划的启发式建模
流水车间调度算法分析的简单+Leapms实践--混合整数规划的启发式建模 清华大学出版社出版的白丹宇教授著作<流水车间与开放车间调度算法渐近分析>采用渐近分析方法分析多个NP-难类启发调度 ...
- 【转】rt-thread的位图调度算法分析
序言 期待读者 本文期待读者有C语言编程基础,后文中要分析代码,对其中的一些C语言中的简单语句不会介绍,但是并不要求读者有过多的C基础,比如指针和链表等不会要求太多,后面在分析代码时,会附带地介绍相关 ...
- RT-Thread的位图调度算法分析(最新版)
RT-Thread的内核调度算法 rt-thread的调度算法为基于优先级调度和基于时间片轮转调度共存的策略.rt-thread内核中存在多个线程优先级,并且支持多个线程具有同样的线程优先级.线程级别 ...
- lvs基本概念、调度方法、ipvsadm命令及nat模型示例
LVS类型: NAT:-->(DNAT) DR TUN FULLNAT LVS的常见名词解释 CIP<-->VIP--DIP<-->RIP Direct Routing: ...
- 3、lvs调度方法详解
3.lvs类型和调度方法详解 http://www.178linux.com/13570 集群:将多台主机组织起来满足某一特定需求: 集群类型: LB:Load Balancing, 负载均衡集 ...
- LVS NAT模式
LVS-NAT 三台虚拟机都是centos 6.5 关闭防火墙和selinux 角色 IP地址 备注 LVS负载调度器 eth0:192.168.119.128(内网) eth1:192.168.94 ...
- lvs+keepalived 负载均衡
LVS是一个开源的软件,可以实现LINUX平台下的简单负载均衡.LVS是Linux Virtual Server的缩写,意思是Linux虚拟服务器.目前有三种IP负 载均衡技术(VS/NAT.VS/T ...
- LVS + KEEPAlived 配置 DIR模式
1 .1 Lvs LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目 ...
随机推荐
- KMP算法 KMP模式匹配 一(串)
A - KMP模式匹配 一(串) Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:131072KB ...
- 删除PO
FUNCTION zrfc_mm002. *"---------------------------------------------------------------------- * ...
- Eclipse更改默认工作目录的方法
参考: Eclipse更改默认工作目录的方法:http://blog.163.com/take_make/blog/static/208212210201272611406227/ 用记事本打开&qu ...
- JavaScript编程:浏览器对象模型BOM
4.浏览器对象模型BOM: document.body.offsetwidth可以获取浏览器宽度. Window对象: 窗口操作: 1.moveBy(dx,dy ...
- 编程算法 - 有序双循环链表的插入 代码(C)
有序双循环链表的插入 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 有序双循环链表的插入, 须要找到插入位置, 能够採用, 两个指针, 一个在前, 一 ...
- MsSqlServer bak文件数据导入
MsSqlServer bak文件数据导入 第一步首先在你的数据库中建立一个空数据库 选中新建的数据库 鼠标右键 任务 还原 数据库 这个时候会弹出这种一个框 之后选择原设备 会弹出 点击加入 找到 ...
- [置顶] Java字节码文件剖析
Java为什么能够支持跨平台,其实关键就是在于其*.class字节码文件,因为*.class字节码文件有一个统一标准的规范,里面是JVM运行的时需要的相关指令,各家的JVM必须能够解释编译执行标准字节 ...
- 12306 Android客户端的libcheckcode.so解密及修复
源:http://blog.csdn.net/justfwd/article/details/45219895 这篇文章纯粹属于安全分析研究,请勿用于非法用途.如有侵犯到厂家,请告知作者删除 123 ...
- Delphi事件的广播 good
明天就是五一节了,辛苦了好几个月,借此机会应该尽情放松一番.可是想到Blog好久没有写文章,似乎缺些什么似的.这几个月来在项目中又增长了许多经验,学到许多实际应用的知识.不如把一些比较有用的记录下来, ...
- ExtJs4 笔记(7) Ext.tip.ToolTip 提示
本篇介绍提示控件,ExtJs支持两种方式定义提示,可以支持普通html元素和一般的ExtJs UI控件. 一.基本提示 Ext.tip.ToolTip 1.最简单的提示 下面通过代码定义一个最简单的提 ...