Hazx小屋 Hazx小屋

Linux下的一些简单的TCP优化

in 服务器相关 阅读: 1824 文章转载请注明来源!

  合理的TCP优化能大大提高TCP传输的效率、速度和通信质量,特别适合对国内用户服务的国外主机。国外云主机(或VPS)做了TCP优化以后,国内直连访问速度会有显著提高。
  以下方法更适合于较低版本系统,例如 CentOS6。而CentOS7系统更推荐开启BBR拥塞算法提高网络质量,详见《CentOS 7 网络优化(升级内核、开启 BBR)》

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

vim /etc/security/limits.conf

  在末端增加如下内容:

* soft nofile 65535
* hard nofile 65535

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

ulimit -n 65535
ulimit -u 65535

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 = 65535
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(CentOS6及更低版本),删掉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

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

sysctl -p

3、使用TetaTCP进一步优化TCP通信速度
  详见《TCP 优化利器——TetaTCP(锐速、LotServer)》

WeChat Pay

微信打赏

Alipay

支付宝打赏

文章二维码

扫描二维码,在手机上阅读!

centoslinuxtcp
最后由Hazx修改于2019-12-04 10:55
发表新评论
博客系统已萌萌哒运行了
© 2020 Hazx. Theme by Jrotty.
前篇 后篇
雷姆
拉姆