项目:https://github.com/snooda/net-speeder
原理:双倍发包,配合BBRplus使用效果更好
开始安装
apt-get install zip
apt install unzip
wget https://github.com/snooda/net-speeder/archive/master.zip
unzip master.zip
debian/ubuntu:
#安装libnet-dev:
apt-get install libnet1-dev
#安装libpcap-dev:
apt-get install libpcap0.8-dev
#安装gcc:
apt-get install gcc
#安装libnet-dev:
apt-get libnet-dev
编译:
Linux Cooked interface使用编译(venetX,OpenVZ):
cd net-speeder-master
chmod +x build.sh
sh build.sh -DCOOKED
普通网卡使用编译(Xen,KVM,物理机):
cd net-speeder-master
chmod +x build.sh
sh build.sh
使用方法(需要root权限启动):
#参数:./net_speeder 网卡名 加速规则(bpf规则)
#ovz用法(加速所有ip协议数据):
./net_speeder eth0 "ip" #eth0为网卡名称
如果kvm下报错:err msg:[libnet_write_raw_ipv4(): -1 bytes written (Message too long)
#关闭tso
apt-get install ethtool
ethtool -K eth0 tso off #eth0为网卡名称
ethtool -K eth0 ufo off
以下两项关闭操作谨慎使用:
ethtool -K eth0 tx off
ethtool -K eth0 rx off tx off tso off gso off
原理:原本默认是网卡硬件芯片替cpu分担一部分传输处理负荷,但是在vps中由于网卡是虚拟的,几十甚至上百台虚拟机共用一个物理网卡,通常的情况是网卡本身就忙到死,cpu却很空闲,这时修改参数,让cpu来承担这部分工作能改善一下网络性能。
终极用法:
nohup ./net_speeder eth0 "ip" >/dev/null 2>&1 &
exit
查看net-speeder是否运行:
ps aux|grep net_speeder|grep -v grep
终止net-speeder运行:
pkill -f net_speeder