net.ipv4.tcp_max_syn_backlog & net.core.somaxconn

net.ipv4.tcp_max_syn_backlog & net.core.somaxconn

 

TCP SYN_REVD, ESTABELLISHED 状态对应的队列

TCP 建立连接时要经过 3 次握手,在客户端向服务器发起连接时,对于服务器而言,一个完整的连接建立过程,服务器会经历 2 种 TCP 状态:SYN_REVD, ESTABELLISHED

对应也会维护两个队列:

  1. 一个存放 SYN 的队列(半连接队列)
  2. 一个存放已经完成连接的队列(全连接队列)

当一个连接的状态是 SYN RECEIVED 时,它会被放在 SYN 队列中

当它的状态变为 ESTABLISHED 时,它会被转移到另一个队列。所以后端的应用程序只从已完成的连接的队列中获取请求

如果一个服务器要处理大量网络连接,且并发性比较高,那么这两个队列长度就非常重要了。因为,即使服务器的硬件配置非常高,服务器端程序性能很好,但是这两个队列非常小,那么经常会出现客户端连接不上的现象,因为这两个队列一旦满了后,很容易丢包,或者连接被复位。所以,如果服务器并发访问量非常高,那么这两个队列的设置就非常重要了。

posted @   滴滴滴  阅读(53)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
历史上的今天:
2022-12-05 mysql版本区别及版本号解释
2017-12-05 再来一个expect脚本
2017-12-05 11:菜单自动化软件部署经典案例
2017-12-05 19:批量检查多个网站地址是否正常
2017-12-05 数组迭代
2017-12-05 10:比较整数大小经典案例
2017-12-05 Shell面试题8:筛选符合长度的单词案例
net.ipv4.tcp_max_syn_backlog & net.core.somaxconnTCP SYN_REVD, ESTABELLISHED 状态对应的队列
点击右上角即可分享
微信分享提示