首先先來解釋一下什麼是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"