首先先来解释一下什么是net-speed
为了解决丢包问题,最简单粗暴的方法就是双倍发送,即同一份数据包发送两份。这样的话在服务器带宽充足情况下,丢包率会平方级降低。
直接优点是降低丢包率,直接缺点是耗费双倍流量。一些延伸影响是更容易触发快速恢复逻辑,避免了丢包时窗口缩减过快。一定程度也能提高网络速度。
好了,直接贴代码:
安装说明
首先先用putty登陆你的vps
debian和乌班图用下面这三行
shell wget –no-check-certificate https://raw.githubusercontent.com/tennfy/debian_netspeeder_tennfy/master/debian_netspeeder_tennfy.sh
chmod a+x debian_netspeeder_tennfy.sh
bash debian_netspeeder_tennfy.sh
centos请使用下面这两行
wget http://linux.linzhihao.cn/shell/netspeeder.sh
sh netspeeder.sh
好了,安装完毕。
启动说明
安装完成后目录会多一个net_speeder文件,也就是我们需要的执行文件,把这个文件移动到/usr/bin,方面后面启动,使用如下命令:
cp ./net_speeder /usr/bin
(这一步失败也没关系,无足轻重)
使用方法(需要root权限启动):
参数:net_speeder 网卡名 加速规则(bpf规则)
最简单用法: net_speeder venet0 “ip”加速所有ip协议数据
我使用下面的代码运行,加速所有的ip,启动:
/usr/bin/net_speeder venet0 “ip”
现在把它加到开机启动项
echo ‘nohup /usr/bin/net_speeder venet0 “ip” >/dev/null 2>&1 &’ >> /etc/rc.local
OK,大功告成,测测速度吧。
基本上原本只有几十k的vps速度都能提到四五百k。效果很不错,然而你也要注意你的流量消耗也是双倍的了
ps
日后如果一键安装脚本下载链接失效了,这里给出脚本的具体内容,大家可以将将它保存为.sh文件,然后就可以执行了。
#!/bin/sh
# Set Linux PATH Environment Variables
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
# Check If You Are Root
if [ $(id -u) != "0" ]; then
clear
echo -e "\033[31m Error: You must be root to run this script! \033[0m"
exit 1
fi
if [ $(arch) == x86_64 ]; then
OSB=x86_64
elif [ $(arch) == i686 ]; then
OSB=i386
else
echo "\033[31m Error: Unable to Determine OS Bit. \033[0m"
exit 1
fi
if egrep -q "5.*" /etc/issue; then
OST=5
wget http://dl.fedoraproject.org/pub/epel/5/${OSB}/epel-release-5-4.noarch.rpm
elif egrep -q "6.*" /etc/issue; then
OST=6
wget http://dl.fedoraproject.org/pub/epel/6/${OSB}/epel-release-6-8.noarch.rpm
else
echo "\033[31m Error: Unable to Determine OS Version. \033[0m"
exit 1
fi
rpm -Uvh epel-release*rpm
yum install -y libnet libnet-devel libpcap libpcap-devel gcc
wget http://net-speeder.googlecode.com/files/net_speeder-v0.1.tar.gz -O -|tar xz
cd net_speeder
if [ -f /proc/user_beancounters ] || [ -d /proc/bc ]; then
sh build.sh -DCOOKED
INTERFACE=venet0
else
sh build.sh
INTERFACE=eth0
fi
NS_PATH=/usr/local/net_speeder
mkdir -p $NS_PATH
cp -Rf net_speeder $NS_PATH
echo -e "\033[36m net_speeder installed. \033[0m"
echo -e "\033[36m Usage: nohup ${NS_PATH}/net_speeder $INTERFACE \"ip\" >/dev/null 2>&1 & \033[0m"