设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 3754|回复: 1

转:Linux openvz vps一键安装最新内核并开启 Google BBR TCP单边加速魔改脚本 加速https网站流媒体传输吞吐量 HAproxy应用

[复制链接]
 成长值: 255

签到天数: 4710 天

[LV.Master]伴坛终老

发表于 2018/2/27 04:12 | 显示全部楼层 |阅读模式 |Google Chrome 64.0.3282.186|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
安装加速前,,什么鬼,速度才12Mbps??
1.png
然后,,通过各种互联网检索,找到了一个openvz的魔改bbr帖子,实现直接在应用层haproxy中加速。
2.png
BBR开启后
3.png
BBR未开启
4.png


总结:提速过程非常缓慢,从50KB慢慢涨到6MB/S左右,不开启BBR可以瞬间提速稳定在1.7MB/S不掉速状态
这个不是走内核的,走应用层转发实现的BBR加速,日常BBR对图片小文件和起步瞬间提速没效果。起步提速比不开慢,估计也是因为走的应用层一个延迟吧。不过最大速率已经上去了
算了下吞吐量大概三倍单线程提升左右效果,并且吞吐量达到持续100Mbps时,haproxy进程仅仅占用20M物理内存空间。
还是锐速效果更好的多,嘛,不过openvz也有支持的软件了,流媒体服务器部署BBR加速后,瞬间吞吐吐了高多了

缺点:在kangle中,获取到的IP全是10.0.0.2?大连接下容易进程拥堵CPU,还产生降速?。


更新:
[2017.07.24]
更新了liblkl-hijack.so并打上了最近网上很火的“魔改版”BBR补丁,同时更新了haproxy。老版本的朋友可以重新下载安装脚本再安装一遍,需要先停止当前的服务。

使用方法
已测试通过的系统:Ubuntu 14.04 x64、Ubuntu 16.04 x64、CentOS 6 x64、CentOS 7 x64只支持64位系统,要求glibc版本2.14以上。

  1. wget --no-check-certificate http://github.itzmx.com/kuoruan/shell-scripts/master/ovz-bbr/ovz-bbr-installer.sh
  2. chmod +x ovz-bbr-installer.sh
  3. ./ovz-bbr-installer.sh
复制代码


注意:安装之前,先去VPS提供商控制后台看没有开启TUN/TAP。
命令检测
  1. cat /dev/net/tun
复制代码

如果返回File descriptor in bad state,说明支持tun/tap。
咖啡主机的话,后台点客户中心,邮件存档可以看到点击 [咖啡主机]您的VPS开通成功这一封邮件
例如咖啡家的OVH VPS登陆https://vps.cfhost.cn/ 开启tun/tap
如下图:确保是on状态即可开启成功。
QQ图片20180301150356.png

咖啡主机地址:https://www.cfhost.cn/aff.php?aff=75


需要配置的有如下几个选项:
1、需要加速的端口,即的https的443端口。加速开启之后,流量会先经过BBR处理,之后再发送给后端的SS。
2、可能需要配置 “公网接口名称”,即你服务器上具有公网IP的接口名称。OVH上OpenVZ上默认都是venet0,但是有朋友可能需要安装在其他服务器上,所以我加入了此选项。

注意:在有firewalld的服务器上安装的时候,firewalld会干扰iptables的规则,造成网络不通(现在具体原因未知,谁有解决方案可以提示一下)。所以在装有firewalld的服务器上需要先退出firewalld:

  1. systemctl stop firewalld
复制代码


如需卸载,请使用:
  1. ./ovz-bbr-installer.sh uninstall
复制代码



错误说明
有些机器一切正常,但是加速失败。可以执行重启HAporxy-lkl进程试试。

多端口加速
安装的时候只配置了一个加速端口,但是你可以配置多端口加速,配置方法非常简单。修改文件

  1. vi /usr/local/haproxy-lkl/etc/port-rules
复制代码

在文件里添加需要加速的端口,每行一条,可以配置单个端口或者端口范围,以#开头的行将被忽略。 例如:80或者80-82配置完成之后,只需要重启haproxy-lkl即可。

注:最初版本的实现是需要再开一个新端口,后来经人提醒,我又看了一下HAproxy的配置说明,可以直接代理后端端口,不必再开新端口。请注意,使用该方法后,如果HAproxy进程异常退出,会造成无法连接原有端口。所以,请确保在退出 HAproxy时是通过命令正常退出的,在退出时会自动清理原有的防火墙规则。

使用systemctl或者service命令来启动、停止和重启HAporxy-lkl:

  1. systemctl restart haproxy-lkl
复制代码
  1. service haproxy-lkl restart
复制代码

/usr/local/haproxy-lkl/etc/haproxy.cfg这个文件是通过port-rules自动生成的,每次启动都会重新生成,所以直接修改它的配置没用。 如果想要自定义配置,请修改启动文件:

  1. vi /usr/local/haproxy-lkl/sbin/haproxy-lkl
复制代码

更新glibc
1、CentOS 6更新glibc,首先下载如下几个文件:
  1. wget http://ftp.redsleeve.org/pub/steam/glibc-2.15-60.el6.x86_64.rpm \
  2. http://ftp.redsleeve.org/pub/steam/glibc-common-2.15-60.el6.x86_64.rpm \
  3. http://ftp.redsleeve.org/pub/steam/glibc-devel-2.15-60.el6.x86_64.rpm \
  4. http://ftp.redsleeve.org/pub/steam/glibc-headers-2.15-60.el6.x86_64.rpm
复制代码

2、然后安装:
  1. rpm -Uvh glibc-2.15-60.el6.x86_64.rpm \
  2. glibc-common-2.15-60.el6.x86_64.rpm \
  3. glibc-devel-2.15-60.el6.x86_64.rpm \
  4. glibc-headers-2.15-60.el6.x86_64.rpm
复制代码

3、如果以上步骤无法更新,可以手动编译更新(我测试rpm报错,我是用这个手动安装进去的)
  1. yum -y install make gcc gcc-c++
  2. wget https://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz
  3. wget https://ftp.gnu.org/gnu/glibc/glibc-ports-2.15.tar.gz
  4. tar -zxf glibc-2.15.tar.gz
  5. tar -zxf glibc-ports-2.15.tar.gz
  6. mv glibc-ports-2.15 glibc-2.15/ports
  7. mkdir glibc-build-2.15
  8. cd glibc-build-2.15
  9. ../glibc-2.15/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
  10. make all && make install
复制代码

4、检查一下:
  1. ldd --version
复制代码

ldd (GNU libc) 2.15
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
已经升级到glibc 2.15了。

判断BBR已正常工作
判断bbr是否正常启动可以尝试ping 10.0.0.2,如果能通,说明bbr已经启动。

做了少许改动,原文地址:https://www.moerats.com/archives/111/

欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

 成长值: 255

签到天数: 4710 天

[LV.Master]伴坛终老

发表于 2018/3/1 20:54 | 显示全部楼层 |Google Chrome 64.0.3282.186|Windows 10
error: Failed dependencies:
        glibc-common = 2.12-1.209.el6_9.2 is needed by (installed) glibc-2.12-1.209.el6_9.2.i686
        glibc-devel = 2.12-1.209.el6_9.2 is needed by (installed) glibc-static-2.12-1.209.el6_9.2.x86_64


rpm报错是这样的
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2024/11/26 02:21 , Processed in 0.107341 second(s), 21 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表