注意: > > 1. 由于是使用最新版系統(tǒng)內(nèi)核,最好請(qǐng)勿在生產(chǎn)環(huán)境安裝,以免產(chǎn)生不可預(yù)測(cè)之后果。 > > 2. BBR 不支持虛擬方式為 OpenVZ 和 LXC 的服務(wù)器。如果你的服務(wù)器使用以下命令返回 `o" />
摘要:,是在年開(kāi)發(fā)的擁塞控制算法,可以使服務(wù)器顯著地提高吞吐量和減少連接的延遲。在上應(yīng)用該算法,將全球平均的網(wǎng)絡(luò)吞吐量提高了,在一些國(guó)家超過(guò)了。返回值有模塊即說(shuō)明已啟動(dòng)。比如注意并不是所有的都會(huì)有此返回值,若沒(méi)有也屬正常。
Bottleneck Bandwidth and Round-trip propagation time(BBR),是 Google 在 2016 年開(kāi)發(fā)的 TCP 擁塞控制算法,可以使 Linux 服務(wù)器顯著地提高吞吐量和減少 TCP 連接的延遲。
注意:
TCP BBR(Bottleneck Bandwidth and Round-trip propagation time)是由 Google 設(shè)計(jì),于 2016 年發(fā)布的擁塞算法。以往大部分擁塞算法是基于丟包來(lái)作為降低傳輸速率的信號(hào),而 BBR 則基于模型主動(dòng)探測(cè)。該算法使用網(wǎng)絡(luò)最近出站數(shù)據(jù)分組當(dāng)時(shí)的最大帶寬和往返時(shí)間來(lái)創(chuàng)建網(wǎng)絡(luò)的顯式模型。數(shù)據(jù)包傳輸?shù)拿總€(gè)累積或選擇性確認(rèn)用于生成記錄在數(shù)據(jù)包傳輸過(guò)程和確認(rèn)返回期間的時(shí)間內(nèi)所傳送數(shù)據(jù)量的采樣率。[39]該算法認(rèn)為隨著網(wǎng)絡(luò)接口控制器逐漸進(jìn)入千兆速度時(shí),與緩沖膨脹相關(guān)的延遲相比丟包更應(yīng)該被認(rèn)為是識(shí)別擁塞的主要決定因素,所以基于延遲模型的擁塞控制算法(如 BBR)會(huì)有更高的吞吐量和更低的延遲,可以用 BBR 來(lái)替代其他流行的擁塞算法,例如 CUBIC。Google 在 YouTube 上應(yīng)用該算法,將全球平均的 YouTube 網(wǎng)絡(luò)吞吐量提高了 4%,在一些國(guó)家超過(guò)了 14%。[40]BBR 之后移植入 Linux 內(nèi)核 4.9 版本,41并且對(duì)于 QUIC 可用。
BBR 效率很高,速度也很快,但是它與非 BBR 的流的公平性有爭(zhēng)議。雖然谷歌的展示顯示 BBR 與 CUBIC 共存良好,但像杰夫·休斯頓和霍克、布利斯和齊特巴特等研究者發(fā)現(xiàn)它對(duì)其他流不公平,并且不可擴(kuò)展。[43]霍克等人還發(fā)現(xiàn),在 Linux 4.9 的 BBR 實(shí)現(xiàn)中"存在一些嚴(yán)重的固有問(wèn)題,如排隊(duì)延遲增加、不公平和大量數(shù)據(jù)包丟失"。[44]
索海爾·阿巴斯洛等人(C2TCP 的作者)指出,BBR 在動(dòng)態(tài)環(huán)境中表現(xiàn)不佳,比如蜂窩網(wǎng)絡(luò)。45他們還表明 BBR 存在不公平問(wèn)題。例如,當(dāng)一個(gè) CUBIC 流(在 Linux、Android 和 MacOS 中是默認(rèn)的 TCP 實(shí)現(xiàn))與網(wǎng)絡(luò)中的 BBR 流共存時(shí),BBR 流可以支配 CUBIC 流并從中獲得整個(gè)鏈路帶寬[45]。
以下一鍵腳本內(nèi)容轉(zhuǎn)載于:一鍵安裝最新內(nèi)核并開(kāi)啟 BBR 腳本 | 秋水逸冰
使用 root 用戶登錄,運(yùn)行以下命令:
wget --no-check-certificate -O /opt/bbr.sh https://github.com/teddysun/across/raw/master/bbr.sh
chmod 755 /opt/bbr.sh
/opt/bbr.sh
安裝完成后,腳本會(huì)提示需要重啟 VPS,輸入 y 并回車后重啟。
重啟完成后,進(jìn)入 VPS,驗(yàn)證一下是否成功安裝最新內(nèi)核并開(kāi)啟 TCP BBR,輸入以下檢查:
查看內(nèi)核版本
uname -r
查看內(nèi)核版本,顯示為新版內(nèi)核就表示 OK 了。
驗(yàn)證是否成功開(kāi)啟了 BBR。
sysctl net.ipv4.tcp_available_congestion_control
# 返回值一般為:
# net.ipv4.tcp_available_congestion_control = bbr cubic reno
# 或者:
# net.ipv4.tcp_available_congestion_control = reno cubic bbr
sysctl net.ipv4.tcp_congestion_control
# 返回值一般為:
# net.ipv4.tcp_congestion_control = bbr
sysctl net.core.default_qdisc
# 返回值一般為:
# net.core.default_qdisc = fq
查看內(nèi)核模塊是否加載。
lsmod | grep bbr
返回值有 tcp_bbr 模塊即說(shuō)明 bbr 已啟動(dòng)。比如:
tcp_bbr 20480 3
注意:并不是所有的 VPS 都會(huì)有此返回值,若沒(méi)有也屬正常。
如果你使用的是 Google Cloud Platform (GCP)更換內(nèi)核,有時(shí)會(huì)遇到重啟后,整個(gè)磁盤變?yōu)橹蛔x的情況。只需執(zhí)行以下命令即可恢復(fù):
mount -o remount rw /
由于開(kāi)啟 BBR 需 4.10 以上版本 Linux 內(nèi)核,如果您的 Linux 服務(wù)器內(nèi)核低于 4.10(例如:騰訊云控制臺(tái)安裝的 CentOS 7 系統(tǒng)內(nèi)核是 3.10
,低于開(kāi)啟 BBR 最低要求的版本 4.10
,所以我們需要手動(dòng)更換為默認(rèn)內(nèi)核后再作升級(jí))。
手動(dòng)更換內(nèi)核的步驟可以看我之前的文章:CentOS 手動(dòng)更換內(nèi)核。
編輯 /etc/sysctl.conf
文件,添加如下內(nèi)容。
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
#bash
sudo sed -i /net.core.default_qdisc/d /etc/sysctl.conf
sudo sed -i /net.ipv4.tcp_congestion_control/d /etc/sysctl.conf
sudo echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf
sudo echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf
從配置文件中加載內(nèi)核參數(shù)設(shè)置。
sysctl -p >/dev/null 2>&1
驗(yàn)證是否成功開(kāi)啟了 BBR。
sysctl net.ipv4.tcp_available_congestion_control | grep -o net.ipv4.tcp_available_congestion_control = reno cubic bbr
sysctl net.ipv4.tcp_available_congestion_control | grep -o net.ipv4.tcp_available_congestion_control = bbr cubic reno
# 高亮顯示如下任意一條內(nèi)容即可:
# net.ipv4.tcp_available_congestion_control = reno cubic bbr
# net.ipv4.tcp_available_congestion_control = bbr cubic reno
sysctl net.ipv4.tcp_congestion_control | grep -o net.ipv4.tcp_congestion_control = bbr
# 高亮顯示如下內(nèi)容即可:
# net.ipv4.tcp_congestion_control = bbr
sysctl net.ipv4.tcp_available_congestion_control | grep -o net.ipv4.tcp_available_congestion_control = reno cubic bbr
# 高亮顯示如下內(nèi)容即可:
# net.ipv4.tcp_available_congestion_control = reno cubic bbr
查看內(nèi)核模塊是否加載。
$ lsmod | grep bbr
tcp_bbr 20480 1
更改文件權(quán)限。
sudo chmod 644 /etc/sysctl.conf
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/126000.html
摘要:如何開(kāi)啟通過(guò)開(kāi)啟加速可以有效提升訪問(wèn)和下載速度。如何開(kāi)啟步驟支持要先升級(jí)成或最新內(nèi)核才行,在終端分別輸入以下命令執(zhí)行上述命令之后,內(nèi)核就安裝好了,但默認(rèn)不是最新的,需要自己修改。阿里云產(chǎn)品新用戶每個(gè)賬戶僅限一次購(gòu)買Centos7如何開(kāi)啟bbr?通過(guò)開(kāi)啟bbr加速可以有效提升訪問(wèn)和下載速度。使用美國(guó)VPS時(shí),很多朋友可能會(huì)發(fā)現(xiàn)網(wǎng)站訪問(wèn)速度慢或者下載速度慢,如果你用的是Centos7系統(tǒng)的話,不...
摘要:如果是用來(lái)做網(wǎng)站,我一般會(huì)選擇,因?yàn)橐话闱闆r下只要跑環(huán)境下的相關(guān)軟件,而且自帶內(nèi)核可以快速開(kāi)啟,對(duì)網(wǎng)絡(luò)的要求不會(huì)非常高,不需要折騰各種其他東西,不會(huì)出現(xiàn)系統(tǒng)上的兼容問(wèn)題。檢查進(jìn)程是否存在,存在即代表已開(kāi)啟加速。如果是用來(lái)做網(wǎng)站,我一般會(huì)選擇 CentOS 8,因?yàn)橐话闱闆r下只要跑 LNMP 環(huán)境下的相關(guān)軟件,而且 CentOS 8 自帶內(nèi)核可以快速開(kāi)啟 BBR,對(duì)網(wǎng)絡(luò)的要求不會(huì)非常高,不需要...
摘要:現(xiàn)在使用云服務(wù)器,為了加快訪問(wèn)速度和跑滿帶寬,可通過(guò)加速魔改版銳速騰訊等擁塞算法達(dá)到加速目的。一鍵加速腳本加速是騰訊早前發(fā)布的加速策略,騰訊已刪除資源。建站講究穩(wěn)定,可以使用原版和騰訊?,F(xiàn)在使用VPS云服務(wù)器,為了加快訪問(wèn)速度和跑滿帶寬,可通過(guò)bbr加速、bbr魔改版、bbrplus、銳速、騰訊tcpa等擁塞算法達(dá)到加速目的。通過(guò)一鍵腳本來(lái)安裝和啟用這些加速策略。 ? 為什么要加速?...
摘要:本文老劉博客就給大家分享一個(gè)加速腳本,可以一鍵安裝并開(kāi)啟這些加速策略,這里會(huì)以一臺(tái)的華盛頓通用型云主機(jī)來(lái)演示。在租用國(guó)外VPS的時(shí)候,由于地理位置距離中國(guó)較遠(yuǎn),訪問(wèn)和下載速度受限,安裝BBR加速功能就是比較好的方法之一。有人會(huì)問(wèn)BBR是什么?BBR是Google提出的一種新型擁塞控制算法,可使得Linux系統(tǒng)服務(wù)器顯著地提高吞吐量和減少TCP連接的延遲,能夠顯著國(guó)外VPS訪問(wèn)和下載速度。什么...
閱讀 3664·2023-04-25 20:09
閱讀 3828·2022-06-28 19:00
閱讀 3189·2022-06-28 19:00
閱讀 3223·2022-06-28 19:00
閱讀 3337·2022-06-28 19:00
閱讀 2994·2022-06-28 19:00
閱讀 3232·2022-06-28 19:00
閱讀 2764·2022-06-28 19:00