本人目前用的是电信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/)的原创文章,转载请注明出处!
BlueVM:在我这里非常给力,优化前后差别较大。之前只能卡卡地看480p甚至320p,现在720p毫无压力,看1080p速度也能接受。如果不是这家的老板爱折腾,黑历史比较多,我就直接把博客直接迁移到BlueVM了,还便宜。
使用bluevm并打算再买一些的亚历山大.
我感觉那边人很好啊,发ticket各种快速回复,虽然搬机房升级硬件维护各种上瘾,但基本不怎么影响我的
主要是网上对这家的负面评论太多了,不只是中国人,很多老外也表示不满。
我这个bluevm的vps倒还不错,之前装windows的时候经常无故重启,换了linux后基本没被重启过。主要是用作代理速度相当好。
刚表扬过BlueVM,它就不行了。才uptime了两周就又莫名重启。
中国电信有些收费是不合理的。
注意,根据v2ex.com里ss作者的一篇文章,慎用net.ipv4.tcp_tw_recycle,可能会造成NAT下一分钟里只有一台设备能连上服务器的现象。如果你只是自用,应该没什么关系
居然被引用了。time wait 快速回收不应该被打开。特别是个人的网络。
另外其实很多参数对付的是高流量的问题。没有太大意义。
拥塞算法可能是最重要的一个- –
嗯,把那行删掉了。
之前完全是乱来。。。我抽空重写一下
好吧,我的就是OpenVZ,可以不用看了
精品文章