BBR算法是Google于2016年推出的一套TCP擁塞控制算法,可優(yōu)化TCP協(xié)議。
尤其是針對(duì)帶寬體驗(yàn)不佳的地區(qū)的用戶,訪問掉包的影響會(huì)更大,因此BBR優(yōu)化似乎成了必然的選擇。
注意:Debian 11/12、Ubuntu 20/22/24等系統(tǒng)默認(rèn)的TCP算法就是BBR,所以無需手動(dòng)開啟。可以執(zhí)行命令 sysctl -a|grep tcp_congestion_control 查看當(dāng)前的算法類型,如顯示BBR,則表明已經(jīng)開啟。
優(yōu)化場(chǎng)景:
BBR可優(yōu)化因網(wǎng)絡(luò)掉包引起的網(wǎng)絡(luò)卡頓問題,比如云服務(wù)器在某個(gè)時(shí)段因網(wǎng)絡(luò)鏈路質(zhì)量抖動(dòng)而出現(xiàn)掉包,當(dāng)?shù)舭_(dá)到一定程度時(shí),業(yè)務(wù)訪問就會(huì)出現(xiàn)越來越卡頓的情況。BBR加速就是解決這個(gè)場(chǎng)景,它并不是直接解決了掉包率,而是通過優(yōu)化TCP發(fā)包算法,通過持續(xù)加大發(fā)包,大大減輕了掉包率帶來的卡頓影響,因此非常推薦Linux云服務(wù)器做這項(xiàng)優(yōu)化。
只要做了BBR優(yōu)化,咱就可以說“掉包再也不怕了!”。
注意,這只是優(yōu)化網(wǎng)絡(luò)質(zhì)量,并不能提高服務(wù)器本身的帶寬,如果你的服務(wù)器掉包率的原因是帶寬占滿,那就增加帶寬吧。
BBR優(yōu)化步驟:
第一步,檢查當(dāng)前系統(tǒng)的Linux內(nèi)核版本,BBR需要的Linux內(nèi)核版本為L(zhǎng)inux 4.9及以上的內(nèi)核版本才支持,所以需要升級(jí)下內(nèi)核。
使用命令 uname -r 查看當(dāng)前運(yùn)行的Linux內(nèi)核(下圖顯示內(nèi)核版本為3.10,需要升級(jí)才能安裝bbr,參考:升級(jí)內(nèi)核教程)
內(nèi)核(大于或等于4.9)確認(rèn)無誤后,開始安裝bbr,執(zhí)行以下命令:
echo -e "net.core.default_qdisc = fq\nnet.ipv4.tcp_congestion_control = bbr" >>/etc/sysctl.conf;
然后我們需重啟下系統(tǒng)。重啟完在檢查BBR是否啟用成功,使用如下命令
sysctl -a|grep tcp_congestion_control
如下圖,如果返回信息中帶有(net.ipv4.tcp_congestion_control = bbr)則表示BBR開啟成功了。
現(xiàn)在,多試試訪問速度吧,是不是速度更穩(wěn)更快了。
如果BBR算法啟用成功后,速度仍達(dá)不到理想狀態(tài),可嘗試檢查下本地網(wǎng)絡(luò)環(huán)境(如切換網(wǎng)絡(luò)運(yùn)營商、重啟路由器設(shè)備),如果仍無法達(dá)到理想狀態(tài),可聯(lián)系主機(jī)服務(wù)商更換個(gè)其他IP段IP。