载入tcp_hybla模块改善美国VPS访问

本人目前用的是电信20M宽带,众所周知电信的国际出口相当窄,到了晚上访问国外网站更是卡到爆。电信还专门搞了个低延迟的国际精品网,再圈一次钱,太不要脸了。我们这些高延迟的普通用户如何在网络访问高峰时通过VPS顺畅地访问youtube呢?这里有篇文章给出了一个解决办法,通过优化TCP参数显著提高了速度。本人也在手头上各种VPS上测试了一下,将主要配置选项和要点记述如下。

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

/sbin/modprobe tcp_hybla

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

lsmod |grep hybla

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

sysctl net.ipv4.tcp_available_congestion_control

经本人亲自测试,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文件,并且写入以下内容:

#!/bin/sh
/sbin/modprobe tcp_hybla

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

chmod +x hybla.modules

 

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

本文为悠然居(https://wordpress.youran.me/)的原创文章,转载请注明出处!

11 thoughts on “载入tcp_hybla模块改善美国VPS访问”

  1. BlueVM:在我这里非常给力,优化前后差别较大。之前只能卡卡地看480p甚至320p,现在720p毫无压力,看1080p速度也能接受。如果不是这家的老板爱折腾,黑历史比较多,我就直接把博客直接迁移到BlueVM了,还便宜。

    使用bluevm并打算再买一些的亚历山大.
    我感觉那边人很好啊,发ticket各种快速回复,虽然搬机房升级硬件维护各种上瘾,但基本不怎么影响我的

    Google Chrome 34.0.1847.131 Google Chrome 34.0.1847.131 Windows 8.1 x64 Edition Windows 8.1 x64 Edition
    1. 主要是网上对这家的负面评论太多了,不只是中国人,很多老外也表示不满。
      我这个bluevm的vps倒还不错,之前装windows的时候经常无故重启,换了linux后基本没被重启过。主要是用作代理速度相当好。

      Google Chrome 36.0.1976.2 Google Chrome 36.0.1976.2 Windows 7 x64 Edition Windows 7 x64 Edition
    2. 刚表扬过BlueVM,它就不行了。才uptime了两周就又莫名重启。

      Google Chrome 36.0.1985.5 Google Chrome 36.0.1985.5 Windows 7 x64 Edition Windows 7 x64 Edition
  2. 注意,根据v2ex.com里ss作者的一篇文章,慎用net.ipv4.tcp_tw_recycle,可能会造成NAT下一分钟里只有一台设备能连上服务器的现象。如果你只是自用,应该没什么关系

    Google Chrome 37.0.2017.2 Google Chrome 37.0.2017.2 Windows 7 x64 Edition Windows 7 x64 Edition
  3. 居然被引用了。time wait 快速回收不应该被打开。特别是个人的网络。

    另外其实很多参数对付的是高流量的问题。没有太大意义。

    拥塞算法可能是最重要的一个- –

    Google Chrome 35.0.1916.153 Google Chrome 35.0.1916.153 Windows 8.1 x64 Edition Windows 8.1 x64 Edition

Leave a Reply to Cancel reply

Your email address will not be published. Required fields are marked *