上个月买的vultr的vps 感觉看视频还是比较慢的 于是上网找教程开启BBR加速 在这里记录一下 以后可能会用到

BBR 是 Google 提出的一种新型拥塞控制算法,可以使 Linux 服务器显著地提高吞吐量和减少 TCP 连接的延迟。

BBR解决了两个问题:

再有一定丢包率的网络链路上充分利用带宽。非常适合高延迟,高带宽的网络链路。

降低网络链路上的buffer占用率,从而降低延迟。非常适合慢速接入网络的用户。

高延迟高带宽,这不就是我吗.....

升级内核

开启 BBR 要求 4.10 以上版本 Linux 内核,可使用如下命令查看当前内核版本:

  1. uname -r

得到:

  1. 3.10.0-957.12.2.el7.x86_64

发现低于4.10 使用 ELRepo 源更新:

  1. sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
  2. sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
  3. sudo yum --enablerepo=elrepo-kernel install kernel-ml -y

安装完成后,查看已安装的内核:

  1. rpm -qa | grep kernel

得到结果如下:

  1. kernel-tools-3.10.0-957.12.2.el7.x86_64
  2. kernel-headers-3.10.0-957.21.2.el7.x86_64
  3. kernel-ml-5.2.1-1.el7.elrepo.x86_64
  4. kernel-tools-libs-3.10.0-957.12.2.el7.x86_64
  5. kernel-3.10.0-957.12.2.el7.x86_64
  6. kernel-3.10.0-957.el7.x86_64

我这是直接升级到5.2.1了....

修改grub2引导

执行:

  1. sudo egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'

得到:

  1. CentOS Linux 7 Rescue a56038a8b7c142aba2be7bb948369660 (5.2.1-1.el7.elrepo.x86_64)
  2. CentOS Linux (5.2.1-1.el7.elrepo.x86_64) 7 (Core)
  3. CentOS Linux (3.10.0-957.12.2.el7.x86_64) 7 (Core)
  4. CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
  5. CentOS Linux (0-rescue-a9fa8fe7b3214c368cdebd8c7e36dd85) 7 (Core)

设置默认启动项为1并重启系统:

  1. sudo grub2-set-default 1
  2. reboot

重启完成后,重新登录并重新运行uname命令来确认你是否使用了正确的内核:

  1. uname -r

得到:

  1. 5.2.1-1.el7.elrepo.x86_64

现在可以开启BBR了

开启BBR

执行:

  1. echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.conf
  2. echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf
  3. sudo sysctl -p

完成后,分别执行如下命令来检查 BBR 是否开启成功:

  1. sudo sysctl net.ipv4.tcp_available_congestion_control
  2. # 输出应为 echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a/etc/sysctl.conf
  3.  
  4. sudo sysctl -n net.ipv4.tcp_congestion_control
  5. # 输出应为 bbr
  6.  
  7. lsmod | grep bbr
  8. # 输出应类似 tcp_bbr 20480 2

现在BBR就已经正确开启了 可以使用speedtest-cli来测试一下下载速度

speedtest是一个使用python编写的命令行脚本,通过调用speedtest.net测试上下行的接口来完成速度测试.

安装speedtest-cli需要在Python2.4-3.4的环境下 我vps上的Python是2.7.5 够用了

但是下载speedtest-cli需要用到pip 我试了一下vps上竟然没有pip....于是要先下载pip

安装pip之前需要先安装setuptools

  1. yum install -y python-setuptools

安装完毕后,easy_install命令就可以使用了。

安装pip

  1. easy_install pip

通过easy_install安装pip是最为简单的方法。pip默认安装到/usr/bin目录下。

现在就可以下载speedtest-cli了

安装speedtest-cli

  1. pip install speedtest-cli

speedtest-cli用法

  • speedtest-cli --help:显示帮助
  • speedtest-cli --list :根据距离显示speedtest.net的测试服务器列表
  • speedtest-cli --server : 指定列表中id的服务器来做测试
  • speedtest-cli --share : 分享你的网速,该命令会在speedtest网站上生成网速测试结果的图片

speedtest-cli测试

显示所有在中国的测试服务器

  1. speedtest-cli --list | grep China

得到:

  1. 5460) China Unicom Heilongjiang Branch (Harbin, China) [10635.51 km]
  2. 9484) China Unicom (Changchun, China) [10867.65 km]
  3. 16375) China Mobile,Jilin (Changchun, China) [10867.65 km]
  4. 17222) China Mobile Group XinJiang (Aletai, China) [10908.38 km]
  5. 16167) ChinaMobile, Liaoning Branch (Shenyang, China) [11133.48 km]
  6. 17228) China Mobile Group XinJiang (Yili, China) [11255.62 km]
  7. 6144) xjunicom (Urumqi, China) [11351.08 km]
  8. 16858) China Mobile Group XinJiang (Urumqi, China) [11351.08 km]
  9. 25728) ChinaMobile, Liaoning Branch,Dalian (Dalian, China) [11497.00 km]
  10. 25858) China Mobile Group Beijing Co.Ltd (Beijing, China) [11545.16 km]
  11. 4713) China Mobile Group Beijing Co.Ltd (Beijing, China) [11545.16 km]
  12. 25316) Beijing Connect Trunk (Tianjin, China) [11579.57 km]
  13. 17184) China Mobile,TianJin (Tianjin, CN) [11606.60 km]
  14. 5475) China Unicom (Tianjin, China) [11606.60 km]
  15. 17245) China Mobile Group XinJiang (Kashi, China) [11624.88 km]
  16. 5563) JINAN Wo China company (Jinan, China) [11872.31 km]
  17. 5039) China unicom Jinan branch (Jinan, China) [11872.31 km]
  18. 17480) China Moible, ShanDong Branch (Jinan, China) [11872.31 km]
  19. 17227) China Mobile Group XinJiang (Hetian, China) [11967.02 km]
  20. 5317) China Telecom JiangSu Branch (Lianyungang, China) [12023.07 km]
  21. 5396) China Telecom JiangSu Branch (Suzhou, China) [12119.21 km]
  22. 5509) Chinaunicom Ningxia branch (Ningxia, China) [12123.49 km]
  23. 5992) Qinghai China Unicom (Xining, China) [12158.60 km]
  24. 4690) China Unicom Lanzhou Branch Co.Ltd (Lanzhou, China) [12204.68 km]
  25. 3973) China Telecom (Lanzhou, China) [12204.68 km]
  26. 16145) Lanzhou,China Mobile,Gansu (Lanzhou, China) [12204.68 km]
  27. 21005) China Unicom (Shanghai, China) [12293.93 km]
  28. 25637) Chinamobile-5G (Shanghai, China) [12293.93 km]
  29. 24447) China Unicom 5G (ShangHai, China) [12293.93 km]
  30. 13704) China Unicom (Nanjing, China) [12299.63 km]
  31. 5316) China Telecom JiangSu Branch (Nanjing, China) [12301.68 km]
  32. 17145) China Telecom AnHui Branch (Hefei, CN) [12368.45 km]
  33. 5724) ChinaUnicom (Hefei, China) [12368.45 km]
  34. 6715) China Mobile Group Zhejiang Co., Ltd. (Ningbo, China) [12428.56 km]
  35. 7509) China Telecom ZheJiang Branch (Hangzhou, China) [12440.13 km]
  36. 4647) China Mobile Group Zhejiang Co.,Ltd (Hangzhou, China) [12440.13 km]
  37. 5485) China Unicom,Hubei Branch (Wuhan, China) [12592.63 km]
  38. 24011) China Telecom Wuhan Branch-2 (Wuhan, China) [12592.63 km]
  39. 23844) China Telecom Wuhan Branch (Wuhan, China) [12592.63 km]
  40. 16332) China Mobile Group JiangXi CO.,Ltd (Nanchang, China) [12746.87 km]
  41. 24337) China Mobile Group Sichuan Co.,Ltd. (Chengdu, China) [12793.94 km]
  42. 5726) China Unicom Chong Qing Branch (Chongqing, China) [12877.21 km]
  43. 5530) CCN (Chongqing, China) [12877.21 km]
  44. 4884) China Unicom FuJian (Fuzhou, China) [12902.24 km]
  45. 18444) China Mobile Group Tibet (Lhasa, China) [12946.04 km]
  46. 16398) China Mobile,GuiZhou (Guiyang, China) [13194.20 km]
  47. 17251) ChinaTelecom-GZ (Guangzhou, CN) [13414.40 km]
  48. 6611) China Mobile,Guangdong (Guangzhou, China) [13414.40 km]
  49. 5103) Yunnan Chinaunicom (Kunming, China) [13427.97 km]
  50. 4515) China Mobile,Guangdong (Shenzhen, China) [13451.25 km]
  51. 2993) Website Solution Limited (Hong Kong, China) [13480.14 km]
  52. 1536) STC (Hong Kong, China) [13480.14 km]
  53. 12990) QTS Data Centers (Hong Kong, China) [13480.14 km]
  54. 22724) GX-Telecom_1 (Nanning, China) [13578.02 km]
  55. 15863) GX ChinaMobile (Nanning, China) [13578.02 km]
  56. 10305) GX-Telecom (Nanning, China) [13578.02 km]
  57. 16503) Chinamobile,Hainan (Haikou, China) [13828.05 km]

这里显示了服务器的编号、运营商、地点以及距离我的服务器的距离 因为我买的是美国的服务器(日本的便宜还快,但是卖光了555....)所以距离都有上万公里....

速度测试:

  1. speedtest-cli --server=16503 --share 

这里我选的移动的运营商:

还是比较慢的....换一个运营商:

  1. speedtest-cli --server=5563 --share

这个联通的明显快一些

我是电信的上网卡 用YouTube现在480P基本不卡 但是没有达到网上教程里说的4K一点不卡.....可能是运营商的问题吧

vultr vps 开启BBR加速 (CentOS 7)的更多相关文章

  1. Ubuntu 16.04 开启BBR加速

    BBR(Bottleneck Bandwidth and RTT)是Google推出的一个提高网络利用率的算法,可以对网络进行加速,用来干什么大家心里都有B数 Ubuntu开启BBR的前提是内核版本必 ...

  2. Debian 9 / Debian 10 / Ubuntu 18.04 / Ubuntu 18.10快速开启BBR加速 或 关闭BBR加速

    如果使用的是Debian 9.Debian 10.Ubuntu 18.04.Ubuntu 18.10等内核高于4.9版本的系统,均可以使用此方法开启BBR加速,若你使用了Ubuntu 19.04的系统 ...

  3. CentOS 上开启 BBR 加速

    BBR 算法需要 Linux 4.9 及以上的内核支持,所以想要使用该方式的需要先升级内核版本. 在 Cent OS 7 上的 Linux 内核是 3.10, 使用 uname -r 查看内核版本 [ ...

  4. CentOS6开启BBR加速

    BBR TCP加速,Google出品神器,需 kernel 4.9以上.开启后服务器的访问明显快很多,对于vultr和digitalocean这种国外服务器很适合,感觉使用后Shell输入也没那么卡了 ...

  5. BBR加速 Centos

    BBR是什么 BBR 是 Google 提出的一种新型拥塞控制算法,可以使 Linux 服务器显著地提高吞吐量和减少 TCP 连接的延迟. BBR项目地址 https://github.com/goo ...

  6. 【转】CentOS6开启BBR加速

    1.查看机器内核 BBR 算法需要 Linux 4.9 及以上的内核支持,所以想要使用该方式的需要先升级内核版本. 在 Cent OS 7 上的 Linux 内核是 3.10, 使用 uname -r ...

  7. 开启BBR加速

    在linux里用 wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh chmod +x b ...

  8. vultr VPS安装BBR

    1.安装 wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh chmod +x bbr.s ...

  9. 开启BBR

    BBR 目的是要尽量跑满带宽, 并且尽量不要有排队的情况, 效果并不比速锐差Linux kernel 4.9+ 已支持 tcp_bbr 下面简单讲述基于KVM架构VPS如何开启附:OpenVZ 架构V ...

随机推荐

  1. dispatchEvent 自定义触发事件,常用于自定义鼠标事件或点击事件

    自定义事件的触发又是不可避免的,由于浏览器兼容性问题,我们要分开说了,针对标准浏览器和IE6/7等考古浏览器. 1. 对于标准浏览器,其提供了可供元素触发的方法:element.dispatchEve ...

  2. 从收发消息能力来理解TCP建立连接时的三次握手

    TCP是一个全双工协议,意味着在Client和Server都可以接收和发送数据. 所以,从另一个角度理解建立连接的目的就是要确保双方都要知道对端的收发消息的能力是正常的

  3. G. Gangsters in Central City

    给出一棵$1$为根节点的含$n$个节点的树,叶子节点都是房屋,在一个集合里面添加房屋和移除房屋. 每一次添加和移除后,回答下面两个问题. 1.  使得已选房屋都不能从根节点到达,最少需要砍多少条边. ...

  4. Oracle根据列中的特殊符号进行分组

    原数据: 目标结果: 根据-符号将数据进行分组,思路是根据NAME列值进行复制,若为‘-’则赋值1,其他为0,这样就可以根据累加实现分组, 具体实现代码: /* Formatted on 2019/9 ...

  5. IDEA基础配置

    详细IDEA使用请参考 https://www.w3cschool.cn/intellij_idea_doc/ 下面的内容都是从别人手中收集之后整理的: 全局设置 修改主题 修改字体 修改控制台字体 ...

  6. 两个html之间进行传值,如何进行?

    function turnto(){ var getval=document.getElementById("text").value; turngetval=escape(get ...

  7. C++入门经典-例5.2-使用指针比较两个数的大小

    1:代码如下: // 5.2.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using ...

  8. hibernate entitymanager的理解

    hibernate EntityManager是围绕提供JPA编程接口的Hibernate Core的一个包装,支持JPA实体实例的生命周期,并允许你用标准的JavaPersistence查询语言编写 ...

  9. spark 笔记 1: 如何着手

    必读:从官方的开发者页面着手,包括如何构建spark以及编码规范(强烈建议读读编程规范)等:https://cwiki.apache.org/confluence/display/SPARK/Cont ...

  10. docker-compose部署zk和kafka

    version: '3.4' services: zk1: image: zookeeper restart: always hostname: zk1 container_name: zk1 por ...