【宅技术】腾讯内核团队单边拥塞算法TCPA 小宽带服务器访问提速显著

发布于 2019-04-03  844 次阅读


0x001 前言

腾讯内核团队发布了一个名为 TCPA 的项目,官方表示这原是腾讯内部使用的产品,现在正式“OPEN”出来,个人、站长和企业均可以免费使用。

按照官方的说法,TCPA 需要配合其定制开发的内核来使用,其提供的 TCPA 和 BBR 测试对比报告显示,TCPA 的加速效果优于 BBR。


TCPA简介

0x002 TCPA与BBR普通版测试比对


TCPA简介

TCPA简介

0x003 TCPA简介

TCPA简介

0x004 安装过程

环境要求

centos7/boot分区≥500M(太小会安装失败)

TCPA安装脚本

1.安装定制的内核:

建议下载地址:https://down-it.org/kernel-3.10.0-693.5.2.tcpa06.tl2.x86_64.rpm

安装内核:

yum install kernel-3.10.0-693.5.2.tcpa06.tl2.x86_64.rpm

如果yum install命令安装失败就使用rpm -ivh --force *.rpm 命令强制安装

rpm -qa|grep -i kernel-3.10.0-

可以看到服务器上还有别的版本的内核

rpm -ev 除kernel-3.10.0-693.5.2.tcpa06.tl2.x86_64以外的内核名称

例如:rpm -ev kernel-3.10.0-862.11.6.el7.x86_64

把别的版本都卸载掉之后重启:

reboot

2.安装TCPA

建议下载地址:https://down-it.org/tcpa_packets_180619_1151.tar.bz2

解压TCPA安装包:

tar jxvf tcpa_packets_180619_1151.tar.bz2

cd tcpa_packets

sh install.sh //会安装到/usr/local/storage/tcpav2 下面。

cd /usr/local/storage/tcpav2

启动TCPA(默认只加速80,443,8080这3个端口)

sh start.sh

如果要修改端口:

nano /usr/local/storage/tcpav2/start.sh

在46行之后添加:

$BINDIR/$CTLAPP access add tip $ip tport 1314   #1314是端口号

如果要添加端口;
vi /usr/local/storage/tcpav2/start.sh

在第46行加入:
$BINDIR/$CTLAPP access add tip $ip tport 自定义端口

启动TCPA
cd /usr/local/storage/tcpav2 sh start.sh

卸载TCPA
cd /usr/local/storage/tcpav2 sh uninstall.sh

运行start.sh之后提示Configure ok,就是运行成功了。

顺带说一下一键安装的脚本,但是我看了代码所有内核还有主程序都在他的一个Download服务器下存着,随时可能会删掉,不可以用就用上面那个,自己动手丰衣足食;

一键安装TCPA脚本,仅支持CENTOS7

 wget http://down.08mb.com/tcp_opz/tcpa/tcpa.sh sh tcpa.sh

0x005 简单说一下三台服务器的速度对比:

服务器1啥都没安装,开机之后安装好了LNMP环境。

服务器2安装了BBR,以及LNMP环境。

服务器3安装了TCPA,以及LNMP环境。

三台服务器同属于一个区域,一个网段。系统分别是Ubuntu18.04,Ubuntu18.04,Centos7.4,带宽无上限。

服务器1放入1GB.bin文件之后,本地使用IDM下载,线程32,下载速度5-6MB/s。

服务器2(BBR)放入1GB.bin文件之后,本地使用IDM下载,线程32,下载速度26MB/s,下载10秒钟之后速度降为9MB/s,持续到快下载完成的时候,速度降为3MB/s。

服务器3(TCPA)放入1GB.bin文件之后,本地使用IDM下载,线程32,下载速度26.7MB/s,稳定持续到下载完成,期间速度的波动在0.5MB/s左右。

单线程测试也是服务器速度更快一些,并且速度也是最稳定的。

鉴于TCPA的开发初衷,个人觉得建站用TCPA最适合。

注:BBR采用原版BBR,非暴力BBR跟BBR Plus


郑州90后一名计算机爱好者,希望能通过网络结交更多朋友!