Tomcat 调优之从 Linux 内核源码层面看 Tcp backlog( 四 )

查看溢出命令
当连接队列溢出时,可以通过 netstart -s 命令查询

Tomcat 调优之从 Linux 内核源码层面看 Tcp backlog

文章插图
# 表示全连接队列溢出的次数,累计值119005 times the listen queue of a socket overflowed# 表示半连接队列溢出的次数 , 累计值119085 SYNs to LISTEN sockets dropped如果发现这两个值一直在增加,就说明发生了队列溢出,需要看情况调大队列大小
常用组件 backlog 大小
  1. Redis 默认 backlog = 511
  2. Nginx 默认 backlog = 511
  3. Mysql 默认 backlog = 50
  4. Undertow 默认 backlog = 1000
  5. Tomcat 默认 backlog = 100
总结这篇文章以 Tomcat 性能调优为切入点,首先简单讲了下 Tomcat 线程池调优 。然后借 Tomcat 配置参数 accept-count 引出了 Tcp backlog,从 linux 内核源码层面详细讲解了下 TCP backlog 参数以及半连接、全连接队列的相关知识,包括连接队列大小设置,以及队列溢出怎么排查,这些东西也是我们服务端开发需要掌握的,在性能调优 , 问题排查时会有一定的帮助 。
个人开源项目DynamicTp 是一个基于配置中心实现的轻量级动态线程池管理工具,主要功能可以总结为动态调参、通知报警、运行监控、三方包线程池管理等几大类 。
Tomcat 调优之从 Linux 内核源码层面看 Tcp backlog

文章插图
目前累计 2k star , 欢迎大家试用,感谢你的 star,欢迎 pr , 业务之余一起给开源贡献一份力量
官网:https://dynamictp.cn
gitee 地址:https://gitee.com/dromara/dynamic-tp
github 地址:https://github.com/dromara/dynamic-tp

推荐阅读