该篇文章不支持 openvz 环境, bandwagonhost 为 openvz 环境,因此,若 vps 为 Openvz 的,就无需再往下看。
亲测,在安装锐速后,再进行一次 tcp 优化,还能增加下载效果。
增加 tcp 连接数量
编辑 limits.conf
vi /etc/security/limits.conf
增加以下两行
* soft nofile 51200 * hard nofile 51200
开启 shadowsocks 服务之前,先设置一下 ulimit
ulimit -n 51200
首先科普下 TCP 拥塞控制算法:
中美之间的线路质量不是很好, rtt 较长且时常丢包。 TCP 的设计目的是解决不可靠线路上可靠传输的问题,即为了解决丢包,但丢包却使 TCP 传输速度大幅下降。 HTTP 协议在传输层使用的是 TCP 协议,所以网页下载的速度就取决于 TCP 单线程下载的速度(因为网页就是单线程下载的)。丢包使得 TCP 传输速度大幅下降的主要原因是丢包重传机制,控制这一机制的就是 TCP 拥塞控制算法。
Linux 内核中提供了若干套 TCP 拥塞控制算法,这些算法各自适用于不同的环境。
1 ) reno 是最基本的拥塞控制算法,也是 TCP 协议的实验原型。
2 ) bic 适用于 rtt 较高但丢包极为罕见的情况,比如北美和欧洲之间的线路,这是 2.6.8 到 2.6.18 之间的 Linux 内核的默认算法。
3 ) cubic 是修改版的 bic ,适用环境比 bic 广泛一点,它是 2.6.19 之后的 linux 内核的默认算法。
4 ) hybla 适用于高延时、高丢包率的网络,比如卫星链路——同样适用于中美之间的链路。
我们需要做的工作就是将 TCP 拥塞控制算法改为 hybla 算法,并且优化 TCP 参数。
1 、查看可用的算法。
主要看内核是否支持 hybla ,如果没有,只能用 cubic 了。
sysctl net.ipv4.tcp_available_congestion_control
2 、如果没有该算法,则加载 hybla 算法(不支持 OpenVZ )
/sbin/modprobe tcp_hybla
3 、首先做好备份工作,把 sysctl.conf 备份到 root 目录
cp /etc/sysctl.conf /root/
4 、修改 sysctl.conf 配置文件,优化 TCP 参数
vi /etc/sysctl.conf
添加以下代码
fs.file-max = 51200# 提高整个系统的文件限制 net.core.rmem_max = 67108864 net.core.wmem_max = 67108864 net.core.netdev_max_backlog = 250000 net.core.somaxconn = 3240000 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 0 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 # 如果 linux 内核没到 3.10 ,这个 fastopen 请注释掉 net.ipv4.tcp_fastopen = 3 net.ipv4.tcp_rmem = 4096 87380 67108864 net.ipv4.tcp_wmem = 4096 65536 67108864 net.ipv4.tcp_mtu_probing = 1 net.ipv4.tcp_congestion_control = hybla
5 、保存生效
sysctl -p
小结
经测试, digitalocean,ramnode 的 KVM 等内核支持 hybla 算法。但是 linode 的内核目前不支持
需要注意的是每次重启需要重新加载 hybla 算法模块,可以写入 rc.local 自动启动。
fatopen不需要3.10吧,服务器3.7客户端3.6
你好,ipv6有什么加速方法吗?
加拿大的vps,延迟高,网速慢!安装锐速有效果!这个TCP优化没效果,感觉还慢了一点点
请问如果ss部署在docker中,是否docker和vps都需要做优化?
站长你好,我使用的是vutlr日本的服务器,然后用了这个优化… 好吧,并不是高延迟高掉包的网络环境 好像反而速度下降了。用什么指令可以退回原来的cubic么?谢谢
你好!!vultr的vps支持吗?
和哪里的vps无关。
请问如果已安装锐速服务的 这一步的优化 还有必要做么?
不同的机子不情况不同,我有些机子做了效果会增加,有些效果会降低。个人经验,如果是国外延迟高丢包多的会比较有优势,亚洲香港日本韩国之类的如果访问已经很快,可能反而速度会降低。
如果降低了 我还有办法复原么- – 本人linux大白。。 VPS上装一键ss服务端和锐速等 都靠GOOGLE出来的懒人教程- – 貌似可以优化在网上看见一个net-speed。。 好像原理是翻倍发包损人利己。。
如果觉得效果不好,按步骤再把相应的配置删了就好了。不过如果锐速效果已经满意,就不用太折腾了。netspeed主要是openvz主机用,其实效果不理想