我之前介紹過關于 TCP 一些優化,包括安裝使用 TCP 優化軟體,這些适用于較低版本的 CentOS 系統,例如 CentOS 6,詳細可參考《Linux 下的一些簡單的 TCP 優化》與《TCP 優化利器——TetaTCP(銳速、LotServer)》。
對于 CentOS 7,更推薦開啟 BBR 算法來解決網絡問題(優化丢包率、延遲、提升直連效率),特别适合于用于國内通路使用的國外伺服器網絡優化,最好的優化效果能從直連幾百 kb/s 速度提升至 38MB/s(資料為親測,實際優化效果取決于機房及線路)。
由于 BBR 算法需要 4.9 以上版本 Kernel 支援,是以需要先更新核心。
更新核心
1、yum 系統更新,将所有軟體包先更新至最新版本
yum update -y
2、重新開機系統,讓系統核心及所需環境運作在最新版本下
reboot
3、檢視目前系統版本、核心版本。如果已經是 4.9 以上版本,則無需進行核心更新。
cat /etc/redhat-release
uname -a
4、 導入 elrepo 軟體源的 GPG 公鑰
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
5、導入 elrepo 軟體源
rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
6、啟用 elrepo 軟體源并下載下傳安裝最新穩定版核心
yum --enablerepo=elrepo-kernel install kernel-ml -y
7、設定 Grub 預設啟動新核心
grub2-set-default 0
8、重新開機,系統會自動運作到新核心上
reboot
9、重新開機後,再次檢視核心版本。确認是否已經更新為 4.X 核心
uname -a
10、删除舊核心(防止 yum 更新舊版核心之後覆寫了 grub 預設啟動項)
yum -y remove kernel kernel-tools
開啟 BBR
1、修改系統配置檔案
vim /etc/sysctl.conf
在結尾添加如下内容:
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
儲存,退出 VIM。(若未安裝 vim 可使用 vi)
2、加載新配置
sysctl -p
3、檢視目前使用的擁塞算法
sysctl net.ipv4.tcp_available_congestion_control
lsmod | grep bbr
兩條指令均傳回帶有 bbr 的資訊則已開啟 BBR 算法。