使用sysctl配置来优化VPS下载速度

2015-02-11 15:20:08    2015-02-11 15:20:08

最近买了一个KVM的VPS,拿到手装上最新的Debian系统后,测试时发现下载速度很慢,从Cachefly下载平均只有4MB/s左右,其它地方的就更慢了。不知道是什么原因,所以就提交工单去问。结果他们给我的答案是,由于我买的KVM内存只有512M,所以安装系统时,可能系统自动根据机器的配置来调整了整个系统的某些默认配置。他建议我修改/etc/sysctl.conf文件来调整系统的某些参数,比如手动设置TCP的缓存大小。我将信将疑地把他给我的代码复制到了配置文件中。(加到sysctl.conf文件的最下面)

# increase TCP max buffer size settable using setsockopt()
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
# increase Linux autotuning TCP buffer limit
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
# increase the length of the processor input queue
net.core.netdev_max_backlog = 30000
# recommended default congestion control is htcp
net.ipv4.tcp_congestion_control=htcp
# recommended for hosts with jumbo frames enabled
net.ipv4.tcp_mtu_probing=1

保存后使用sysctl -p命令重新载入参数,或者使用reboot来重启机子

结果再测试,果然Cachefly的下载速度提高到了>20MB/s。不过我也不知道真正到底是哪一条配置起作用了。我猜可能是设置缓存大小的那几条吧