标签:
原文: http://cenwj.com/2015/2/25/19
本文参考文章为:
优化Linux下的内核TCP参数来提高服务器负载能力
Linux Tuning
本文所面对的情况为:
- 高并发数
- 高延迟高丢包(典型的美国服务器)
值得注意的是,因为openvz的VPS权限比较低,能够修改的地方比较少,所以使用openvz的VPS作VPN服务器是非常不推荐的。
我们通过修改 /etc/sysctl.conf 来达到调整的目的,注意修改完以后记得使用:
来使修改生效。
首先,针对高并发数,我们需要提高一些linux的默认限制:
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 |
net.ipv4.tcp_fastopen = 3 |
其次,针对大流量高丢包高延迟的情况,我们通过增大缓存来提高TCP性能,自己看E文注释吧……感觉我翻译出来各种味道不对 = =:
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 |
这里面涉及到一个TCP拥塞算法的问题,你可以用下面的命令查看本机提供的拥塞算法控制模块:
sysctl net.ipv4.tcp_available_congestion_control |
如果没有下文提到的htcp,hybla算法,你可以尝试通过modprobe启用模块:
对于几种算法的分析,详情可以参考下:TCP拥塞控制算法 优缺点 适用环境 性能分析,但是这里面没有涉及到专门为卫星通讯设计的拥塞控制算法:Hybla。根据各位大神的实验,我们发现Hybla算法恰好是最适合美国服务器的TCP拥塞算法,而对于日本服务器,个人想当然的认为htcp算法应该可以比默认的cubic算法达到更好的效果。但是因为htcp算法恰好没有编入我们所使用的VPS中,所以没办法测试。
net.ipv4.tcp_congestion_control=hybla
|
[转载] 高流量大并发Linux TCP 性能调优
标签:
原文地址:http://www.cnblogs.com/zhengran/p/4600761.html