linux高连接的参数优化

1、服务优化

如非必须,关闭iptables,并注意不要加载相关模块,包括nf_conntrack等模块。

2、文件描述符

  • fs.file-max:决定了系统打开的最大文件数。
  • 单用户打开文件数:修改/etc/security/limit.conf,添加
    vim /etc/security/limit.conf
    
    user soft nofile 10240
    user hard nofile 10240
  • fs.nr_open:单进程所能打开的最大文件数。
  • 修改systemd service 的最大文件数(PS:服务进程最大文件描述符数量取nr_open和DefaultLimitNOFILE较小的那个):
    vim /etc/systemd/system.conf
    
    #打开最大文件数量
    DefaultLimitNOFILE=105960
    #打开最大进程数量
    DefaultLimitNPROC=10240000

3、网络协议相关

  • net.ipv4.tcp_tw_recycle:启用TIME_WAIT状态的socket的快速回收。当开启了tcp_tw_recycle选项后,当连接进入TIME_WAIT状态后,会记录对应远端主机最后到达分节的时间戳。如果同样的主机有新的分节到达,且时间戳小于之前记录的时间戳,即视为无效,相应的数据包会被丢弃。依赖于net.ipv4.tcp_timestamps参数(默认开启)。此参数一般不建议开启,且已经在4.x内核废弃,因为在NAT环境下,很有可能会产生同样的主机但是时间戳小于记录的时间戳的问题,从而导致新的连接被拒。
  • net.ipv4.tcp_tw_reuse:开启重用,允许将TIME_WAIT状态的socket重新用于tcp连接,只在 linux机器作为客户端调用connect函数时有效。也依赖于net.ipv4.tcp_timestamps参数
  • net.ipv4.tcp_fin_timeout:设置主动断连断FIN_WAIT2默认等待的时间,默认为60s。当socket连接进入FIN_WAIT2状态后,没有收到对端的FIN包超过 tcp_fin_timeout 时间,则会主动关闭连接。
  • net.ipv4.tcp_keepalive_time:当keepalive启用时,检测keepalive状态的时间间隔,默认为7200秒。减小配置可以加快释放无用连接。
  • net.ipv4.ip_local_port_range:指定发起连接时,本地端口范围。不能小于 net.ipv4.ip_unprivileged_port_start。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值