突然想起很久以前立的flag,把我的vps全部更新內核開啓BBR(具體百度吧,介紹很多了),終於最近有空弄弄了。順便對比下開啓bbr前後的差異(PS:由於不是非常嚴格的對比,所以沒有控制變量,沒有重複實驗,連測速都是截的某一時間的值(人工取平均。。。哈哈哈),各位看官看看心裏有數便罷)。
弄了DigitalOcean新加坡(SGP)和紐約(NY)機房的兩個機子(點這個鏈接註冊送$10,互利互惠哈:DigitalOcean: Cloud computing designed for developers)作比較,先說下系統環境:
帝都移動100M(嚴重懷疑沒有)寬帶,
SGP的是臺ubuntu,內核4.4,
NY的是CentOS7.5,內核3.10,
測速方法見:在vps上配置nginx的簡單http文件下載服務。
安裝nginx就不必多說,在配置路徑下,比如/etc/nginx/conf.d/
新建一個bbr_test.conf的配置文件,當然隨便起名字也可以,如果/etc/nginx/nginx.conf裏沒有include /etc/nginx/conf.d/*.conf,要先加這句,或者直接改nginx.conf,在http大括號中填上同樣內容。
bbr_test.conf裏的內容(如下也可在直接複製到nginx.conf的http大括號中)是
1 2 3 4 5 |
server { listen 101; #端口 charset utf-8; #如果路徑或文件名有中文,要註釋掉這個 root /home/test/; #該服務根路徑,可以更改 } |
然後在/home/test/ 路徑下放置一個測試用的下載文件,我這裏放了個100MB的,從DO官方測速網站下載的:http://speedtest-nyc2.digitalocean.com/100mb.test
上述搭好後重啓nginx
service nginx restart
然後在測試終端上wget http://***.***.***.***:101/100mb.test即可。
https://segmentfault.com/a/1190000008395823
分別用我的一臺cubieboard的wget,win8的搜狗瀏覽器下載,以及迅雷下載、IDM下載,
BBR開啓前
延時:
wget:
搜狗瀏覽器下載:
這裏多說下,搜狗瀏覽器自帶的下載器我猜測應該是應用了類似離線下載的輔助加速吧,所以開啓BBR的效果不準確,這也說明,要指望開啓BBR能帶來巨大的效果提升,必須考慮使用情況,網絡狀況等。
迅雷:
開啓方法:
升級內核—>改配置,網上教程也很多,具體參看文末的參考資料,注意的是根據自己的機器字長和系統版本選擇升級方法,升級到linux內核4.9以上就行了。因爲各自系統不一樣,我就不復述了。插一句,我給我的一個CentOS 6.5 32位,kernel 2.6 的VPS升級卻始終不成功。非常鬱悶,只好新開一個VPS做實驗了。。。
開啓後測試:
ping是不受影響的哈,
wget:
sougou:
迅雷:
IDM:
可以看到是有明顯提升的,後面有測了SGP的一臺ubuntu,這裏就列個表對比下吧
before BBR enable | after BBR enable | |||
location | NY | SGP | NY | SGP |
ping | 273ms | 77ms | 273ms | 77ms |
wget | 3.61M/S | 4.49 M/S | 7.38M/S | 11 M/S |
sougou | 5.47 M/S | 8.78 M/S | 6.20 M/S | 6.38 M/S |
thunder | 2.86 M/S | 2.98 | 3.33 M/S | 4.55 M/S |
IDM | 5.22 M/S | — | 8.72 M/S | — |
可以看到開啓BBR至少在大文件的下載上有很明顯的提升。
參考與拓展資料:
實測TCP BBR算法加速效果:
https://segmentfault.com/a/1190000008395823
Ubuntu內核升級以及如何開啓BBR加速:
https://blog.csdn.net/haha_ym/article/details/78440415
Linux Kernel 4.9 中的 BBR 算法與之前的 TCP 擁塞控制相比有什麼優勢?