啟用BBR擁塞控制算法

目錄

📋 先決條件

🔧 啟用步驟

📝 額外檢查與說明

?? 注意事項


BBR(Bottleneck Bandwidth and Round-trip time)是谷歌開發的一種TCP擁塞控制算法,它能有效提升網絡傳輸速度和性能,尤其在高延遲、有輕微丟包的場景下效果顯著。下面是如何在現代Linux系統上啟用和驗證BBR的步驟。

📋 先決條件

首先,確保你的Linux內核版本是4.9或更高。BBR算法在該版本開始被引入。
你可以通過以下命令檢查當前內核版本:

uname -r
🔧 啟用步驟

以下是啟用BBR的主要步驟概覽:

步驟

操作

命令/配置

1. 檢查當前算法

查看當前使用的擁塞控制算法

sysctl net.ipv4.tcp_congestion_control

2. 修改sysctl配置

編輯配置文件啟用BBR

/etc/sysctl.conf 添加指定行

3. 應用配置

使新的配置立即生效

sudo sysctl -p

4. 驗證啟用

確認BBR已成功啟用

sysctl net.ipv4.tcp_congestion_control

檢查當前的擁塞控制算法:在啟用之前,你可以先查看系統當前使用的算法,通常默認是cubic

sysctl net.ipv4.tcp_congestion_control

修改sysctl配置文件:使用你喜歡的文本編輯器(如nanovi)打開 /etc/sysctl.conf 文件。

sudo nano /etc/sysctl.conf

將以下兩行配置添加到文件末尾:

net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

這里,net.core.default_qdisc=fq 表示設置公平隊列(Fair Queueing)作為默認的隊列規則,net.ipv4.tcp_congestion_control=bbr 則是設置TCP擁塞控制算法為BBR。

保存并應用配置:保存對 /etc/sysctl.conf 文件的修改后,運行以下命令使更改立即生效:

sudo sysctl -p

驗證BBR是否成功啟用:執行以下命令來檢查BBR是否已經成為當前的擁塞控制算法。

sysctl net.ipv4.tcp_congestion_control

如果輸出結果為 net.ipv4.tcp_congestion_control = bbr,則說明BBR已經成功啟用。

📝 額外檢查與說明

你也可以使用以下命令查看系統支持的所有擁塞控制算法,確認bbr在其中。

sysctl net.ipv4.tcp_available_congestion_control

在某些系統(如Ubuntu)上,你可能需要顯式加載tcp_bbr模塊(盡管現代內核通常已將其編譯在內)。可以使用 lsmod | grep bbr 來檢查。

根據一些資料,BBR對上行流量的加速效果更為顯著。這意味著它可能更有利于作為服務器或需要大量上傳帶寬的場景。

如果以后需要關閉BBR,只需注釋掉(或刪除)之前在 /etc/sysctl.conf 中添加的兩行配置,然后再次運行 sudo sysctl -p 即可。

?? 注意事項

內核版本:確保你的Linux內核版本高于4.9。如果版本過低,你需要先升級內核。

隊列規則 (qdisc):建議將默認隊列規則設置為 fq (Fair Queueing) 以獲得BBR的最佳性能。部分系統也可能使用 fq_codel

網絡環境:BBR在存在一定延遲和輕微丟包的網絡環境中(如跨國鏈路)改善效果尤為明顯。在網絡條件非常好的局域網內,性能提升可能感知不強。

無需重啟:通過 sysctl -p 應用配置后通常立即生效,無需重啟系統。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/95632.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/95632.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/95632.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python:AI開發第一語言的全面剖析

文章目錄引言1. Python的歷史與AI開發的契合1.1 Python的誕生與設計哲學1.2 Python與AI發展的歷史交匯2. 語言特性如何支持AI開發2.1 動態類型與交互式編程2.2 簡潔優雅的語法2.3 高級數據結構的原生支持2.4 函數式編程特性2.5 強大的元編程能力3. 豐富的AI生態系統和庫支持3.1…

Nikto 漏洞掃描工具使用指南

目錄 ? 核心功能一覽 🚀 基本使用方法 1. 掃描單個目標 2. 指定端口掃描 3. 掃描 HTTPS 目標 使用 -ssl 參數主要有兩個核心原因 ?? 高級使用技巧 1. 使用代理掃描 2. 保存掃描結果 3. 使用特定插件 4.交互命令 ? 核心功能一覽 Nikto 是一款開源的 W…

FunASR的Java實現Paraformer實時語音識別 | 一款無需聯網的本地實時字幕軟件

0. 開發背景 我們在看直播時,沒有視頻字幕,可能看慣了視頻字幕,來到直播中缺少字幕會感覺不習慣,特別是對于聽力障礙的人群,只能依賴于字幕,那么這個軟件可以解決直播,在線會議等場景中無字幕的…

從機器學習的角度實現 excel 中趨勢線:揭秘梯度下降過程

1. 引言:Excel 的“一鍵魔法”背后藏著什么智慧?在 Excel 中,我們只需右鍵 → 添加趨勢線,一條完美的直線就出現了。它快得像魔法,但魔法背后,是數學的嚴謹。今天,我們不關心 Excel 內部用了什么…

關于上拉電阻

上拉電阻的作用:輔助浮空狀態輸出高電平 其實就是確定這根線的電平,不能讓他處于一種未知的狀態。 其次也可以起到限制電流的作用,防止損壞原件 那么上拉電阻如何取值? 首先來看一下驅動能力。 因為線上是一定有寄生電容的&am…

PiscCode構建Mediapipe 手勢識別“剪刀石頭布”小游戲

在計算機視覺與人機交互領域,手勢識別是一個非常有趣的應用場景。本文將帶你用 Mediapipe 和 Python 實現一個基于攝像頭的手勢識別“剪刀石頭布”小游戲,并展示實時手勢與游戲結果。 1. 項目概述 該小游戲能夠實現: 實時檢測手勢&#xff0…

【VoNR】VoNR 不等于 VoLTE on 5G

博主未授權任何人或組織機構轉載博主任何原創文章,感謝各位對原創的支持! 博主鏈接 本人就職于國際知名終端廠商,負責modem芯片研發。 在5G早期負責終端數據業務層、核心網相關的開發工作,目前牽頭6G技術研究。 博客內容主要圍繞…

計算機網絡:網絡設備在OSI七層模型中的工作層次和傳輸協議

OSI七層模型(物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層)中,不同網絡設備因功能不同,工作在不同層次。以下是典型網絡設備的工作層次及核心功能:1. 物理層(第1層) 核心功能&a…

RSA-e和phi不互素

1.題目import gmpy2 import libnum p 1656713884642828937525841253265560295123546793973683682208576533764344166170780019002774068042673556637515136828403375582169041170690082676778939857272304925933251736030429644277439899845034340194709105071151095131704526…

基于單片機蒸汽壓力檢測/蒸汽余熱回收

傳送門 👉👉👉👉單片機作品題目速選一覽表🚀 👉👉👉👉單片機作品題目功能速覽🚀 🔥更多文章戳👉小新單片機-CSDN博客&#x1f68…

https 協議與 wss 協議有什么不同

HTTPS 是用于網頁數據傳輸的安全協議,而 WSS 是用于實時雙向通信(如聊天、直播)的安全協議,二者的設計目標、應用場景、底層邏輯均存在本質區別。以下從 7 個核心維度展開對比,并補充關鍵關聯知識,幫助徹底…

主流分布式數據庫集群選型指南

以下是關于主流分布式可擴展數據庫集群的詳細解析,涵蓋技術分類、代表產品及適用場景,幫助您高效選型:一、分布式數據庫核心分類 1. NewSQL 數據庫(強一致性 分布式事務)產品開發方核心特性適用場景TiDBPingCAPHTAP架…

#T1359. 圍成面積

題目描述編程計算由“*”號圍成的下列圖形的面積。面積計算方法是統計*號所圍成的閉合曲線中水平線和垂直線交點的數目。如下圖所示,在1010的二維數組中,有“*”圍住了15個點,因此面積為15。輸入1010的圖形。輸出輸出面積。樣例輸入數據 10 0…

Hive on Tez/Spark 執行引擎對比與優化

在大數據開發中,Hive 已經成為最常用的數據倉庫工具之一。隨著業務數據規模的不斷擴大,Hive 默認的 MapReduce 執行引擎 顯得笨重低效。為了提升查詢性能,Hive 支持了 Tez 和 Spark 作為底層執行引擎。本文將帶你對比 Hive on Tez 與 Hive on Spark 的區別,并分享調優經驗。…

深入理解 Next.js 的路由機制

深入理解 Next.js 的路由機制 作者:碼力無邊在上一篇文章中,我們成功創建并運行了第一個 Next.js 應用。當你打開項目文件夾時,你可能會注意到一個名為 pages 的目錄。這個目錄看似普通,但它卻是 Next.js 路由系統的核心。今天&am…

modbus_tcp和modbus_rtu對比移植AT-socket,modbus_tcp雜記

modbus_rtu通信時沒有連接過程&#xff0c;主機和從機各自初始化自身串口就行了&#xff0c;而rtu需要確定從機ID。注:在TCP連接中&#xff0c;不同的網卡有不同的IP&#xff0c;port對應具體的程序。/* 先讀取數據 */for (i 0; i < len; i){if (pdPASS ! xQueueReceive(re…

Docker Compose 詳解:從安裝到使用的完整指南

在現代容器化應用開發中&#xff0c;Docker Compose 是一個不可或缺的工具&#xff0c;它能夠幫助我們輕松定義和運行多容器的 Docker 應用程序。 一、什么是 Docker Compose&#xff1f; Docker Compose 是 Docker 官方提供的一個工具&#xff0c;用于定義和運行多容器 Dock…

springboot配置多數據源(mysql、hive)

MyBatis-Plus 不能也不建議同時去“控制” Hive。它從設計到實現都假定底層是 支持事務、支持標準 SQL 方言 的 關系型數據庫&#xff08;MySQL、PostgreSQL、Oracle、SQL Server 等&#xff09;&#xff0c;而 Hive 兩者都不完全符合。如果操作兩個數據源都是mysql或者和關系數…

2025年上海市星光計劃第十一屆職業院校技能大賽高職組“信息安全管理與評估”賽項交換部分前6題詳解(僅供參考)

1.北京總公司和南京分公司有兩條裸纖采用了骨干鏈路配置,做必要的配置,只允許必要的Vlan 通過,不允許其他 Vlan 信息通過包含 Vlan1,禁止使用 trunk鏈路。 骨干鏈路位置??:總公司 SW 與分公司 AC 之間的兩條物理鏈路(Ethernet 1/0/5-6 必要 VLAN??: ?總公司:Vlan…

學習nginx location ~ .*.(js|css)?$語法規則

引言 nginx作為一款高性能的Web服務和反向代理服務&#xff0c;在網站性能優化中扮演著重要的角色。其中&#xff0c;location指令的正確配置是優化工作的關鍵之一。 這篇記錄主要解析location ~ .*\.(js|css)?$這一特定的語法規則&#xff0c;幫助大家理解其在nginx配置中的…