zoukankan      html  css  js  c++  java
  • Linux负载均衡--LVS(IPVS)主要算法实现分析

    LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一种叫基于TCP/IP的负载均衡技术,转发效率极高,具有处理百万计并发连接请求的能力。

    IPVS支持的调度算法:
    轮流:"rr"
    循环链表不停向后查找。


    权重轮流:"wrr"
    权重分表示优先级还是表示比例,此处为优先级;先用辗转相除法求取权重最大公约数,然后用最大权重依次递减最大公约数(递减最大公约数可减少递减次数)获取服务器。

    最少连接:"lc"
    每台服务器统计连接数,查询时获取连接数最少的服务


    加权最少连接:"wlc"
    获取每权重连接数最少的服务器,此处权重表示比例,即连接数cn1除以权重w1和连接数cn2除以权重w2,取值小的服务器:即若cn1/w1 < cn2/w2,则取ser1。为优化性能真正实现为 cn1*w2 < cn2*w1 则取serv1

    源地址HASH: "sh"
    目标地址HASH:"dh"
    将服务器指针循环按个存储在HASH表上,报文到达时根据地址计算HASH获取服务器。

    局部性最少连接:"lblc"
    复制的局部性最少连接:"lblcr"
    有效连接数*50加无效连接数,再除以权重,取每权重小的服务器

    最少的期望延迟:"sed"
    目前取每权重有效连接数小的服务器,类似wlc,但wlc取的所有连接数(有效+无效连接),sed只取有效连接。连接有效证明有数据正在传输,连接越多带宽占用越大,认为时延越大。

    最少队列调度:"nq"
    首先取有效连接数为0的服务器,若不存在为0的,则取每权重有效连接数小的服务器

  • 相关阅读:
    Build MySQL 5.7.4 in RedHat
    glibc-2.19 之 strlen 实现
    [部署问题列表]
    [数据链路排查]
    VS配置本地IIS以域名访问
    SQL系列函数——数学函数
    面向对象编程的几个原则
    SQL系列函数——字符串函数
    SQL数据类型
    DHtmlx组件获取选中行的某一列对应的值
  • 原文地址:https://www.cnblogs.com/wangliangblog/p/13393304.html
Copyright © 2011-2022 走看看