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

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

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

問題描述

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

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

  • 內(nèi)核:kernel-4.19.48-14.al7及之前所有的內(nèi)核版本。

問題原因

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

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

  • 若網(wǎng)卡設(shè)備沒有使用qdisc的tc-fq調(diào)度,則TCP改用其內(nèi)部的封裝方式。

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

解決方案

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

  • 修改TCP擁塞控制算法。

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

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

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

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

    <$Dev>指需要調(diào)整的網(wǎng)卡名稱。

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

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