VPS测评 VPS推荐 VPS优惠
Linux运维

LVS的十二种调度算法汇总

LVS的调度算法分为静态方法和动态方法。

静态方法

仅根据算法本身进行调度,不考虑后端服务器的负载。有四种算法,前两种经常用。

  1. RR: round robin,轮询,较常用
  2. WRR: weighted round robin ,加权轮询,较常用
  3. SH: Source Hashing,源IP地址哈希,将来自于同一个IP地址的请求始终发往第一次挑中的RS,从而实现会话绑定
  4. DH: Destination Hashing,目标地址哈希,第一次轮询调度至RS,后续将发往同一个目标地址的请求始终转发至第一次挑中的RS,典型使用场景是正向代理缓存场景中的负载均衡,如: Web缓存

动态算法

根据调度算法和每台RS当前的负载状态进行调度,overhead越大说明越忙,越小说明越不忙,所以overhead较小的RS将被调度。 有六种算法。

  1. LC: least connections(最少连接),适用于长连接应用
Overhead=activeconns*256+inactiveconns
  1. WLC: weighted LC,默认调度算法
Overhead=(activeconns*256+inactiveconns)/weight
  1. SED: Shortest Expection Delay,初始连接高权重优先,只检查活动连接,而不考虑非活动连接
Overhead=(activeconns+1)*256/weight
  1. NQ: Never Queue,第一轮均匀分配,后续SED
  2. LBLC: Locality-Based LC,动态的DH算法,使用场景:根据负载状态实现正向代理,实现Web Cache等
  3. LBLCR: LBLC with Replication,带复制功能的LBLC,解决LBLC负载不均衡问题,从负载重的复制到负载轻的RS

FO和OVF(内核新增)

  1. FO(Weighted Fail Over),遍历虚拟服务所关联的真实服务器链表,找到还未过载(未设置IP_VS_DEST_F_OVERLOAD标志)的且权重最高的真实服务器,进行调度,属于静态算法。
  2. OVF(Overflow-connection),基于真实服务器的活动连接数量和权重值实现。将新连接调度到权重值最高的真实服务器,直到其活动连接数量超过权重值,之后调度到下一个权重值最高的真实服务器,在此OVF算法中,遍历虚拟服务相关联的真实服务器链表,找到权重值最高的可用真实服务器。属于动态算法。

一个可用的真实服务器需要同时满足以下条件:

  • 未过载(未设置IP_VS_DEST_F_OVERLOAD标志)
  • 真实服务器当前的活动连接数量小于其权重值
  • 其权重值不为零
未经允许不得转载:青蛙主机 » LVS的十二种调度算法汇总

VPS相关常用工具

PING测试工具自用毛子接码站