51学通信论坛2017新版

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2231|回复: 0
打印 上一主题 下一主题

LVS技术浅析-优化

[复制链接]

 成长值: 14041

  • TA的每日心情
    开心
    2022-7-17 17:50
  • 2444

    主题

    2544

    帖子

    7万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    74102
    跳转到指定楼层
    楼主
    发表于 2017-11-15 22:00:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1. SH调度算法尽量不要采用
    一些业务为了支持会话保持,选择SH调度算法,以实现 同一源ip的请求调度到同一台RS上;但 SH算法本省没有实现一致性hash,一旦一台RS down,当前所有连接都会断掉;如果配置了inhibit_on_failure,那就更悲剧了,调度到该RS上的流量会一直损失;
    实际线上使用时,如需 会话保持,建议配置 persistence_timeout参数,保证一段时间同一源ip的请求到同一RS上;
    2. WLC调度算法-注意RS donw->up的影响
    WLC算法下,RS一旦出现down后up的情况,瞬间所有的新建连接都会调度到该RS上,可能会超过该RS处理请求的上限;
    3. 关闭网卡LRO/GRO功能
    现在大多数网卡都具有LRO/GRO功能,即 网卡收包时将同一流的小包合并成大包 (tcpdump抓包可以看到>MTU 1500bytes的数据包)交给 内核协议栈;LVS内核模块在处理>MTU的数据包时,会丢弃;
    因此,如果我们用LVS来传输大文件,很容易出现丢包,传输速度慢;
    解决方法,关闭LRO/GRO功能,命令:
    ethtool -k eth0 查看LRO/GRO当前是否打开
    ethtool -K eth0 lro off 关闭GRO
    ethtool -K eth0 gro off 关闭GRO
    4. 手动绑定网卡中断
    当前大多数网卡都是支持硬件多队列的,为了充分发挥多核的性能,需要手动将网卡中断(流量)分配到所有CPU核上去处理;
    查看网卡中断:
    cat /proc/interrupts
    54: 188324418 0 IR-PCI-MSI-edge eth0-TxRx-0
    55: 167573416 0 IR-PCI-MSI-edge eth0-TxRx-1
    绑定网卡中断到CPU核:
    echo 01 > /proc/irq/54/smp_affinity
    echo 02 > /proc/irq/55/smp_affinity
    关闭系统自动中断平衡:
    service irqbalance stop
    如果网卡硬件不支持多队列,那就采用google提供的软多队列RPS;
    配置方法同硬中断绑定;
    查看软队列:
    cat /sys/class/net/eth0/queues/rx-0/rps_cpus
    cat /sys/class/net/eth0/queues/rx-1/rps_cpus
    绑定软队列到CPU核:
    echo 01 > /sys/class/net/eth0/queues/rx-0/rps_cpus
    echo 02 > /sys/class/net/eth0/queues/rx-1/rps_cpus
    5. 修改LVS内核配置,提高性能
    LVS内核默认配置 连接hash表大小为4K,16把hash桶锁;如果应用的并发连接数>4w,则上述配置会无法满足性能需求;
    调大连接hash表:
    在内核源码根目录下,修改文件 vim .config – CONFIG_IP_VS_TAB_BITS=20;
    增大hash桶锁个数:
    ipvs源码目录下,修改文件vim ip_vs_conn.c – #define CT_LOCKARRAY_BITS 8;
    6. BIOS中关闭超线程
    关闭超线程 也是基于性能考虑;

    声明:本文转载自网络。版权归原作者所有,如有侵权请联系删除。
    扫描并关注51学通信微信公众号,获取更多精彩通信课程分享。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|51学通信技术论坛

    GMT+8, 2024-5-14 07:52 , Processed in 0.329187 second(s), 31 queries .

    Powered by Discuz! X3

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表