日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Alibaba Cloud Linux 2系統中TCP擁塞控制算法BBR對網絡性能有影響,如何處理?

本文為您介紹Alibaba Cloud Linux 2系統中TCP擁塞控制算法BBR(Bottleneck Bandwidth and RTT)對網絡性能有影響的原因及解決方案。

問題描述

符合下列條件的ECS實例中,內核TCP擁塞控制算法默認為BBR算法。該算法會在CPU使用率高、網絡數據包(PPS)高的情況下,對網絡性能產生一定影響。例如,Redis數據庫的性能降低。

  • 鏡像:aliyun_2_1903_64_20G_alibase_20190619.vhd及之前所有的鏡像版本。

  • 內核:kernel-4.19.48-14.al7及之前所有的內核版本。

問題原因

Alibaba Cloud Linux 2系統的內核TCP擁塞控制目前支持Reno 、BBR、cubic三種算法,在不同網絡場景下,控制性能會有差異。BBR算法估算當前連接的BW(吞吐)和RTT(時延)以調整擁塞窗口。BBR算法依賴于TCP連接的封裝(pacing)功能,而TCP的封裝實現有下列兩種方式:

  • 若網卡設備使用qdisc的tc-fq(Fair Queue Traffic Policing)調度,則直接復用tc-fq調度中基于流的封裝。

  • 若網卡設備沒有使用qdisc的tc-fq調度,則TCP改用其內部的封裝方式。

TCP協議內部的封裝方式依賴于Linux系統的高精度計時器(hrtimer),每個連接的高精度計時器會額外增加CPU消耗。在CPU使用率和網絡PPS均高的情況下,BBR算法對網絡性能的影響更加明顯。在CPU空閑并且網絡PPS低的情況下,影響不大。

解決方案

請參考下列TCP擁塞控制算法的建議,選擇符合您業務實際情況的解決方式。

  • 修改TCP擁塞控制算法。

    如果ECS實例中的應用僅對內網提供服務,建議參考下列命令,修改TCP擁塞控制算法為cubic。因為內網環境帶寬高、時延低。

    sysctl -w net.ipv4.tcp_congestion_control=cubic
    sh -c "echo 'net.ipv4.tcp_congestion_control=cubic'" >> /etc/sysctl.d/50-aliyun.conf
  • 修改相應網卡的調度策略。

    如果ECS實例中的應用對外提供服務,建議繼續使用BBR算法,但需要將相應網卡的調度策略修改為tc-fq。修改的命令如下。

    tc qdisc add dev <$Dev> root fq
    說明

    <$Dev>指需要調整的網卡名稱。

  • 使用BBR算法時,不建議使用其他非tc-fq的調度策略。因為這樣會占用更多額外的CPU資源。

  • 建議您升級ECS實例的內核至kernel-4.19.57-15.al7及之后的版本,徹底解決該問題。