本方案是使用snooda提供的net-speeder项目,Github地址
作者说明了该方案的优劣:
这种方式下,直接优点是降低丢包率,直接缺点是耗费双倍流量。一些延伸影响是更容易触发快速恢复逻辑,避免了丢包时窗口缩减过快。一定程度也能提高网络速度。
在一台VPS上测试后发现,未开启时单线程下载、ssh管道速度在十几K级别。开启后可以达到平均300KB+的速度。效果非常明显。但对于不加速就可以跑满带宽的类型来讲(多线程下载),开启后反而由于多出来的无效流量,导致速度减半。所以对于多线程/高速链路,这个方案是不适合的。
在搬瓦工上测试,下载速度在使用前150k左右,使用后500k左右。
环境为CentOS 6.6
一、安装依赖库
1、启用EPEL
‘’’yum install epel-release’’’
2、安装库
‘’’yum install libnet libpcap libnet-devel libpcap-devel’’’
二、下载并编译net-speeder
|
|
编译:
Xen,KVM,物理机:
sh build.sh
venetX,OpenVZ:
sh build.sh -DCOOKED
三、运行
编译完成后,一切顺利就能在当前目录下看到编译的net_speeder文件了。
使用方法(需要root权限启动):
参数:./net_speeder 网卡名 加速规则(bpf规则)
最简单用法: # ./net_speeder venet0 “ip” 加速所有ip协议数据
搬瓦工的网卡名为venet0,所以执行
./net_speeder venet0 "ip"
四、设置开机自启动
|
|
完毕。