对Centos 6 使用锐速脚本加速以及优化过程

前言:使用Centos 6.5 安装锐速教程,之前几天在小鸡上安装了BBR,发现加速SSR并不明显,机房在亚特兰大的,看youtube只能上1000kbps,对比手上的Google cloud 用上BBR之后可以直接跑满带宽基本上有16000kbps了,不知道是不是网络线路问题,还是Google自己的机子对自家开源的产品支持好点?今天晚上抽出两个小时左右研究了下安装锐速的问题,碰到了些小问题,特此记录。

生产环境 Centos 6.5

与BBR进行加速一样,锐速需要换内核,对于锐速官方支持的内核版本这里面有地址

  1. 先对判断操作系统的位数:
    uname -a
    

    若为i686则为32位,有x86_64则为64位,切记下载内核的时候一定要下载对应操作系统位数内核的版本。

  2. 下载内核kernel-2.6.32-504.el6

    若为32位的,下载

    wget http://ftp.scientificlinux.org/linux/scientific/6.5/i386/updates/security/kernel-2.6.32-504.el6.i686.rpm
    

    若为64位的,下载

    wget http://ftp.scientificlinux.org/linux/scientific/6.5/x86_64/updates/security/kernel-2.6.32-504.el6.x86_64.rpm
    
  3. 对于Centos6.5 我们还要下载kernel-firmware 使他跟新到 2.6.32-504.el6以上才能跟换内核,否则会出现

    error: Failed dependencies: kernel-firmware >= 2.6.32-504.el6 is needed by kernel-2.6.32-504.el6.x86_64这样的错误

    下载

    wget ftp://ftp.riken.jp/Linux/cern/updates/slc66/i386/RPMS/kernel-firmware-2.6.32-504.el6.noarch.rpm
    

    安装

    rpm -Uvh kernel-firmware-2.6.32-504.el6.noarch.rpm
    

    检测是否安装成功

    rpm -qa | grep kernel-firmware
    
  4. 开始跟换内核
    rpm -ivh kernel-2.6.32-504.el6.i686.rpm --force
    
  5. 跟新更新 grub 系统引导文件并重启
    sed -i 's:default=.*:default=0:g' /etc/grub.conf
    reboot
    

检测是否安装成功

uname -r

一键锐速破解脚本

wget -N --no-check-certificate https://github.com/91yun/serverspeeder/raw/master/serverspeeder.sh && bash serverspeeder.sh

对SSR的一些加速手段

基于kvm架构vps的优化-优化系统内核

vi /etc/sysctl.conf

复制以下内容进入:

# max open files
fs.file-max = 1024000
# max read buffer
net.core.rmem_max = 67108864
# max write buffer
net.core.wmem_max = 67108864
# default read buffer
net.core.rmem_default = 65536
# default write buffer
net.core.wmem_default = 65536
# max processor input queue
net.core.netdev_max_backlog = 4096
# max backlog
net.core.somaxconn = 4096

# resist SYN flood attacks
net.ipv4.tcp_syncookies = 1
# reuse timewait sockets when safe
net.ipv4.tcp_tw_reuse = 1
# turn off fast timewait sockets recycling
net.ipv4.tcp_tw_recycle = 0
# short FIN timeout
net.ipv4.tcp_fin_timeout = 30
# short keepalive time
net.ipv4.tcp_keepalive_time = 1200
# outbound port range
net.ipv4.ip_local_port_range = 10000 65000
# max SYN backlog
net.ipv4.tcp_max_syn_backlog = 4096
# max timewait sockets held by system simultaneously
net.ipv4.tcp_max_tw_buckets = 5000
# TCP receive buffer
net.ipv4.tcp_rmem = 4096 87380 67108864
# TCP write buffer
net.ipv4.tcp_wmem = 4096 65536 67108864
# turn on path MTU discovery
net.ipv4.tcp_mtu_probing = 1

# for high-latency network
net.ipv4.tcp_congestion_control = hybla
# forward ipv4
net.ipv4.ip_forward = 1

保存生效

sysctl -p

其中最后的hybla是为高延迟网络(如美国,欧洲)准备的算法,需要内核支持,测试内核是否支持,在终端输入:

sysctl net.ipv4.tcp_available_congestion_control

如果结果中有hybla,则证明你的内核已开启hybla,如果没有hybla,可以用命令modprobe tcp_hybla开启。

对于低延迟的网络(如日本,香港等),可以使用htcp,可以非常显著的提高速度,首先使用modprobe tcp_htcp开启,再将net.ipv4.tcp_congestion_control = hybla改为net.ipv4.tcp_congestion_control = htcp,建议EC2日本用户使用这个算法。

锐速优化

vi /serverspeeder/etc/config
accppp="1" #加速PPTP、L2TP V-P-N;设为1表示开启,设为0表示关闭
advinacc="1" #高级入向加速开关;设为 1 表示开启,设为 0 表示关闭;开启此功能可以得到更好的流入方向流量加速效果;
maxmode="1" #最大传输模式;设为 1 表示开启;设为 0 表示关闭;开启后会进一步提高加速效果,但是可能会降低有效数据率。
rsc="1" #网卡接收端合并开关;设为 1 表示开启,设为 0 表示关闭;在有些较新的网卡驱动中,带有 RSC 算法的,需要打开该功能。
l2wQLimit="512 4096" #从 LAN 到 WAN 加速引擎在缓冲池充满和空闲时分别能够缓存的数据包队列的长度的上限;该值设置的高会获得更好的加速效果,但是会消耗更多的内存
w2lQLimit="512 4096" #从 WAN 到 LAN 加速引擎在缓冲池充满和空闲时分别能够缓存的数据包队列的长度的上限;该值设置的高会获得更好的加速效果,但是会消耗更多的内存

重读配置以使配置生效/serverspeeder/bin/serverSpeeder.sh reload

查看锐速当前状态/serverspeeder/bin/serverSpeeder.sh stats

查看所有命令/serverspeeder/bin/serverSpeeder.sh help

停止/serverspeeder/bin/serverSpeeder.sh stop

启动/serverspeeder/bin/serverSpeeder.sh start

重启锐速/serverspeeder/bin/serverSpeeder.sh restart