活到老学到老  

记录遇到问题的点点滴滴。

国外vps加速,使用tcp_hybla模块改善国外vps访问速度

8年前发布  · 3885 次阅读

通过tcp_hybla加速后,原本只能看youtube 480p的,优化有可直接播放1080p甚至4k 不开玩笑亲自测试。

Linode需要更换内核才支持

DigitalOceanVultr、亚马逊默认支持 只要开启即可

本站的Shadowsocks都开启了加速Youtube 1080p 4K视频播放测试,效果还是相当不错的。我知道的加速还有3种先介绍一种。

一、加载tcp_hybla模块
首先,OpenVZ的VPS可以不用继续了。对内核的操作权限太低,没法添加相关模块。建议使用KVM。
加载tcp_hybla模块(OpenVZ在这一步就会报错):

然后查看是否已经正常加载:

如果你的内核版本较新,比如CentOS 6.x的2.6.32,则可以用下列命令查看当前可用的拥堵算法,里面应该有hybla了:

经本人亲自测试,DigitalOcean、RamNode和BlueVM的KVM都可以正常加载(一冲动又买了这么多VPS,砍手啊!!)。
建议想折腾的可以先买个DigitalOcean的,毕竟可以按小时计费,不浪费钱。

二、修改/etc/sysctl.conf
将下述内容添加入sysctl.conf文件:

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.core.netdev_max_backlog = 250000
net.ipv4.tcp_mtu_probing=1
net.ipv4.tcp_congestion_control=hybla

保存后,可以用下面命令让设置立即生效:

sysctl -p

三、设置开机后自动加载tcp_hybla模块
刚才第一步里加载的模块只是暂时的,开机后还得重新加载。怎样自动加载呢?

以CentOS为例,在/etc/sysconfig/modules目录下添加一个hybla.modules文件,并且写入以下内容:

vim /etc/sysconfig/modules/hybla.modules
#!/bin/sh
/sbin/modprobe tcp_hybla

然后设置下可执行属性,以便于系统在开机时自动执行:

chmod +x /etc/sysconfig/modules/hybla.modules

四、测试
本优化对普通网页浏览估计效果不大,可以搭个使用tcp协议的梯子,比如tcp版的openvpn,以及近年来的新秀ss(我用的nodejs版),访问下youtube视频吧!下面是我在几个VPS上的测试结果,因为各人网络情况不同,仅供参考:
DigitalOcean和RamNode: 稍微有所改善,不过不明显。顶多是从连480p都看不了变成了能看480p。
BlueVM:在我这里非常给力,优化前后差别较大。之前只能卡卡地看480p甚至320p,现在720p毫无压力,看1080p速度也能接受。如果不是这家的老板爱折腾,黑历史比较多,我就直接把博客直接迁移到BlueVM了,还便宜。
目前安心做站还是得找个靠谱的idc,Hostigation就挺不错的。BlueVM只适合买来折腾,没多大用。

 

本站的免费和付费的Shadowsocks都经过了优化,速度很明显。

想自己折腾的话可以租几台玩玩:Linode购买DigitalOcean购买Vultr购买