一些简单的 TCP 优化

合理的 TCP 优化能大大提高 TCP 传输的效率、速度和通信质量,特别适合对国内服务的国外主机。国外云主机或 VPS 做了 TCP 优化以后,国内直连访问速度会有显著提高。以下介绍一些简单的 TCP 优化方法。

1、增加 TCP 连接数上限
  使用 vi 或 vim 修改相关配置文件:

vim /etc/security/limits.conf


  在末端增加如下内容:


* soft nofile 65535
* hard nofile 65535


  保存、退出 vi/vim 后,再执行命令:


ulimit -n 51200


2. 对内核进行优化
  TCP 拥塞控制算法有:
1)reno 是最基本的拥塞控制算法,也是 TCP 协议的实验原型。
2)bic 适用于 rtt 较高但丢包极为罕见的情况,比如北美和欧洲之间的线路,这是 2.6.8 到 2.6.18 之间的 Linux 内核的默认算法。
3)cubic 是修改版的 bic,适用环境比 bic 广泛一点,它是 2.6.19 之后的 linux 内核的默认算法。
4)hybla 适用于高延时、高丢包率的网络,比如卫星链路,也同样适用于中美之间的链路。

  执行命令,加载 hybla 算法(注意:不支持 OpenVZ 虚拟技术):


/sbin/modprobe tcp_hybla


  将 sysctl.conf 复制到 root 目录下作为备份:


cp /etc/sysctl.conf /root/


  使用 vi 或 vim 编辑 sysctl.conf 配置文件,优化 TCP 参数:


vim /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
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


  保存、退出 vi/vim,然后执行命令:


sysctl -p


3、将命令行写入启动项
  使用 vi 或 vim 编辑 rc.local 文件:


vim /etc/rc.d/rc.local


  在文件结尾加入以下命令行:


/sbin/modprobe tcp_hybla


  保存、退出 vi/vim。执行命令给 rc.local 赋予执行权限:

chmod +x /etc/rc.d/rc.local



到这里优化就完毕了。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

搜索
«   2019年11月   »
123
45678910
11121314151617
18192021222324
252627282930
最新留言
    标签列表

      Powered By Z-BlogPHP 1.5.2 Zero