最少连接调度算法 权值确定方法如何确定

博客访问: 167225
博文数量: 31
博客积分: 690
博客等级: 上士
技术积分: 860
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: LINUX
LVS &8种算法调度算法
在集群中,Internet上的请求报文通过调度器,在特定转发方式的情况下,调度器会通过一种算法,动态的选择一台服务器来处理请求报文。
权值就是指这个指标在整个分析过程中所占的重要程度
1、轮叫调度
调度器通过外部请求的顺序轮流的分配到集群中的真实服务器上,对每台服务器都是均等的。但是这样调度器不会考虑服务器上实际的连接数和系统负载,导致服务器处理请求慢,系统负载增大。
2、加权轮叫
调度器通过一个算法根据真实服务器的不同处理能力来分配访问请求,这样可以保证服务器的处理能力。
3、最少连接
调度器将访问请求自动的分配到已建立连接最少的服务器上,如果在集群中每台服务器的性能差不多的话,则这种算法可以较好的均衡负载。
4、加权最少连接
主要用于集群中服务器性能差异大的情况下,调度器可以优化负载性能,具有较高权值的服务器可以将承受较大的活动连接。
5、基于局部性的最少连接
主要是针对目标IP地址的负载均衡,将请求的目标IP地址找到离其最近的服务器进行使用,如果服务器不存在或者满载的话,就会继续寻找下一个服务器。
6、带复制的基于局部性的最少连接
主要是针对目标IP地址的负载均衡,根据请求的目标IP地址找出该地址所对应的服务器,如果服务器不存在或者满载的话,就会继续寻找下一个服务器。当服务器有一段时间没有被修改,则会从最忙的服务器组中删除。
7、目标地址散列
根据请求的目标IP地址从静态分配的散列表中超出对应的服务器,如果找到可用的服务器且没有满载,则返回空。
8、源地址散列
& & 根据请求的源IP地址从静态分配的散列表中超出对应的服务器,如果找到可用的服务器且没有满载,则返回空。
阅读(1498) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。温馨提示:
LVS集群:负载调度算法
发布: 领悟书生|
浏览: 1118
IPVS实现了如下八种负载调度算法,这里我们详细讲述最常用的四种调度算法,剩余的四种调度算法请参考其它资料。轮叫调度(Round Robin)“轮叫”调度也叫1:1调度,调度器通过“轮叫”调度算法将外部用户请求按顺序1:1的分配到集群中的每个Real Server上,这种算法平等地对待每一台Real Server,而不管服务器上实际的负载状况和连接状态。 加权轮叫调度(Weighted Round Robin) “加权轮叫”调度算法是根据Real Server的不同处理能力来调度访问请求。可以对每台Real Server设置不同的调度权值,对于性能相对较好的Real Server可以设置较高的权值,而对于处理能力较弱的Real Server,可以设置较低的权值,这样保证了处理能力强的服务器处理更多的访问流量。充分合理的利用了服务器资源。同时,调度器还可以自动查询Real Server的负载情况,并动态地调整其权值。 最少链接调度(Least Connections) “最少连接”调度算法动态地将网络请求调度到已建立的链接数最少的服务器上。如果集群系统的真实服务器具有相近的系统性能,采用“最小连接”调度算法可以较好地均衡负载。 加权最少链接调度(Weighted Least Connections) “加权最少链接调度”是“最少连接调度”的超集,每个服务节点可以用相应的权值表示其处理能力,而系统管理员可以动态的设置相应的权值,缺省权值为1,加权最小连接调度在分配新连接请求时尽可能使服务节点的已建立连接数和其权值成正比。其它四种调度算法分别为:基于局部性的最少链接(Locality-Based Least Connections)、带复制的基于局部性最少链接(Locality-Based Least Connections with Replication)、目标地址散列(Destination Hashing)和源地址散列(Source Hashing),对于这四种调度算法的含义,这里不再讲述,如果想深入了解这其余四种调度策略的话,可以登陆LVS中文站点zh.linuxvirtualserver.org,查阅更详细的信息。
如非特别注明,本站内容均为原创,转载请务必注明作者和原始出处。
本文地址:
lvs负载均衡
nginx是一个高性能的HTTP和反向代理服务器,也是一个 IMAP/POP3/SMTP 服务器。本专题从nginx的部署安装、基本使用到最佳实践,深入浅出学习nignx
jenkins是一个可扩展的持续集成引擎,主要用于持续、自动化构建/测试软件项目。监控一些定时执行任务等
大家都在看君,已阅读到文档的结尾了呢~~
一种新的处理能力优先的权值分配调度算法
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
一种新的处理能力优先的权值分配调度算法
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口晨曦追梦 的BLOG
用户名:晨曦追梦
文章数:48
评论数:24
访问量:78052
注册日期:
阅读量:5863
阅读量:12276
阅读量:390428
阅读量:1081360
51CTO推荐博文
一.集群的概念
通俗的说集群就是为了完成一些单个计算机不可能完成的或者完成起来很吃力的工作而将多个计算机通过一点的技术连接到一块,但在外界看起来起来还只是一台计算机的技术。
Cluster集群技术是将一组相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理。此单一系统为客户工作站提供高可靠性的服务。大多数模式下,集群中所有的计算机拥有一个共同的名称,集群内任一系统上运行的服务可被所有的网络客户所使用。Cluster必须可以协调管理各分离的组件的错误和失败,并可透明地向Cluster中加入组件。一旦在服务器上安装并运行了群集服务,该服务器即可加入群集。群集化操作可以减少单点故障数量,并且实现了群集化资源的高可用性。
二.集群的分类
Linux集群分为三类:
1.高可用性集群 HA (High Avaliability)
高可用性集群运行于两个或多个节点上,目的是在系统出现某些故障的情况下,仍能继续对外提供服务。高可用性集群的设计思想就是要最大限度地减少服务中断时间。这类集群中比较著名的有Turbolinux TurboHA、Heartbeat、Kimberlite等。
2.负载均衡集群 LB (Load Balaceing)
负载均衡集群目的是提供和节点个数成正比的负载能力,这种集群很适合提供大访问 量的Web服务。负载均衡集群往往也具有一定的高可用性特点。Turbolinux Cluster Server、Linux Virtual Server(LVS)都属于负载均衡集。
3.高性能计算集群 HP (High perfomancing)
高可用性集群对一种服务而言不具有负载均衡功能,它可以提高整个系统的可靠性,但不能增加负载的能力。当然,高可用性集群可以运行多种服务,并适当分配在不同节点上,比如节点A提供Oracle服务,同时节点B提供Sybase服务,这也可以看成是某种意义上的负载均衡,不过这是对多种服务的分配而言。
三.LVS实现原理
名词解释:
DIP(Director's IP address)
VIP(Virtual IP address)
CIP(Client computer's IP address)
RIP(Real IP address)
原理:通过向ipvs中写规则来过滤数据流,从而达到分发控制数据流向,均衡服务器负载的目的:当client来访问服务器时,其目标IP是director分发器的对外网声明的一个viretual ip地址,当director接收到请求后通过自己的真实director ip将请求传递给内网的real server,client实际访问的是real server上的服务,director只是起到一个分发任务给内网各服务器的作用。
四.基于ipvs来实现虚拟服务:
1.通过NAT实现虚拟服务器(LVS/NAT)
IP DIP必须在同一网段,而且必须为私有地址;IP为RIP的default gateway
;Director很容易会成为整个网络的瓶颈点;IP可支持端口映射。
1.RIP DIP必须在同一网段,都不必是私有地址,
2.IP直接给CIP回复,directory只需要处理请求数据,这样的工作效率将成倍的提高,解决了LVM-NAT的瓶颈问题。不能进行端口映射
3.IP不支持端口映射。服务必须使用默认的端口
4.管理员可以直接通过Internet连接到RIP对服务器进行配置。但这里同时也存在着来自Internet的网络安全隐患
通过IP隧道实现虚拟服务器(LVS/TUN)
1.IP DIP 都必须为公网地址,DIP RIP之间数据通过网络Internet传送。因此directory和server可以不再同一个网段,可以跨越地区,其他的都和LVM-DR形式的一样。
2.因为其耗资源,投资较大,很少使用。
五.LVS的调度方法:
1. 轮叫 Round-robin (RR)
调度器通过"轮叫"调度算法将外部请求按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务器,而不管服务器上实际的连接数和系统负载。
2. 加权轮叫 Weithted round-robin (WRR)
调度器通过"加权轮叫"调度算法根据真实服务器的不同处理能力来调度访问请求。这样可以保证处理能力强的服务器处理更多的访问流量。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值
3. 目标地址散列 Destination hashing (DH)
"目标地址散列"调度算法根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。
4. 源地址散列 Source hash (SH)
"源地址散列"调度算法根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。
Dynamic Scheduling (lc wlc sed nq lblc lblcr)=====动态调度方法
其算法是:活动链接数x256+非活动链接数 将client请求分给数值小的服务器。
5. 最少链接 Least-connect (LC)
调度器通过"最少连接"调度算法动态地将网络请求调度到已建立的链接数最少的服务器上。如果集群系统的真实服务器具有相近的系统性能,采用"最小连接"调度算法可以较好地均衡负载。
6. 加权最少链接 Weighted least-connection (WLC) (Default)
在集群系统中的服务器性能差异较大的情况下,调度器采用"加权最少链接"调度算法优化负载均衡性能,具有较高权值的服务器将承受较大比例的活动连接负载。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。
7.最短期望连接Shortest Expected delay(SED)
对wlc的改进,在wlc算法的基础上给权重值加一,主要用来针对某个服务器活动链接数值为0情况
8. 从不排队Never Quene(NQ)
基于SED算法的改进,不排队
9. 基于局部性的最少链接locality-based least-connection (LBLC)
基于局部的最少连接
10. 带复制的基于局部性最少链接 Locality-Based Least Connectionswith Replication (LBLCR)
&本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)加权最小连接调度(Weighted&Least-Connection&Scheduling)
加权最小连接调度(Weighted
Least-Connection Scheduling)
加权最小连接调度(Weighted Least-Connection
Scheduling)算法是最小连接调度的超集,各个服务器用相应的权值表示其处理性能。服务器的缺省权值为1,系统管理员可以动态地设置服务器的权值。加权最小连接调度在调度新连接时尽可能使服务器的已建立连接数和其权值成比例。加权最小连接调度的算法流程如下:
加权最小连接调度的算法流程
假设有一组服务器S = {S0, S1, ...,
Sn-1},W(Si)表示服务器Si的权值,
C(Si)表示服务器Si的当前连接数。所有服务器当前连接数的总和为
CSUM = ΣC(Si)& (i=0, 1, .. ,
n-1)。当前的新连接请求会被发送服务器Sm,
当且仅当服务器Sm满足以下条件
& (C(Sm) / CSUM)/ W(Sm) = min { (C(Si) / CSUM) /
W(Si)}& (i=0, 1, . , n-1)
& 其中W(Si)不为零
因为CSUM在这一轮查找中是个常数,所以判断条件可以简化为
& C(Sm) / W(Sm) = min { C(Si) /
W(Si)}& (i=0, 1, . , n-1)
& 其中W(Si)不为零
因为除法所需的CPU周期比乘法多,且在Linux内核中不允许浮点除法,服务器的
权值都大于零,所以判断条件C(Sm) / W(Sm) & C(Si) / W(Si) 可以进一步优化
为C(Sm)*W(Si) & C(Si)* W(Sm)。同时保证服务器的权值为零时,服务器不被调
度。所以,算法只要执行以下流程。
for (m = 0; m & m++) {
if (W(Sm) & 0) {
&&&&&&&&&&&&&&&
for (i = m+1; i & i++) {
&&&&&&&&&&&&&&&&&&&&&&&
if (C(Sm)*W(Si) & C(Si)*W(Sm))
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&
return Sm;
return NULL;
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 权值确定方法 的文章

 

随机推荐