lvs调度算法
来源:3-10 LVS DR模型原理详解

慕妹2362023
2020-03-29
老师您好:
我对调度算法不太理解的是 lc、wlc、SED,网上都说是基于Overhead来进行实现的算法:
lc:Overhead=Active256+Inactive
wlc:Overhead=(Active256+Inactive)/Weight
sed:Overhead=(Active+1)*256/Weight
说 sed是为了改进wlc,wlc是为了改进lc,但是我不太理解这个公式计算出来的那里不合理,或者说老师 是否有对应例子举例说明,让我能明白 这个三个 算法之间的不同呢
非常感谢,困扰很久了。
1回答
-
酷田
2020-04-07
LC,最小连接调度,是把新的连接请求分配到当前连接数最小的服务器,最小连接调度是一种动态调度短算法,它通过服务器当前所活跃的连接数来估计服务器的负载均衡,调度器需要记录各个服务器已建立连接的数目,当一个请求被调度到某台服务器,其连接数加1,当连接中止或超时,其连接数减一,在系统实现时,我们也引入当服务器的权值为0时,表示该服务器不可用而不被调度。此算法忽略了服务器的性能问题,有的服务器性能好,有的服务器性能差,通过加权重来区分性能,所以有了下面算法wlc。
WLC,加权最小连接调度算法,是最小连接调度的超集,各个服务器用相应的权值表示其处理性能。服务器的缺省权值为1,系统管理员可以动态地设置服务器的权限,加权最小连接调度在调度新连接时尽可能使服务器的已建立连接数和其权值成比例。由于服务器的性能不同,我们给性能相对好的服务器,加大权重,即会接收到更多的请求。
SED,最短期望延迟,举例子来说明,比如有3台服务器,权重分别为1,2,3,这时候假定他们当前的连接数分别为10,20,30,则根据WLC算法计算结果,新请求可能被调度到任何1台服务器,因为三者计算结果一致。所谓最短期望延迟,其实时我们想要在WLC计算一致的基础上,将新请求调度给最强的那台服务器,那Overhead=(Active+1)*256/Weight,这个算法会加1
00
相似问题