Linux TCP 连接性能指标的采集与可视化分析

老萱小哥_3014

老萱小哥_3014

2026-08-23

703人浏览

原创

linux tcp连接性能分析需采集/proc/net/snmp等内核指标,聚焦建连、维持、释放、异常四阶段瓶颈,通过node exporter+prometheus+grafana实现时序监控与闭环调优。

linux tcp 连接性能指标的采集与可视化分析

Linux TCP 连接性能指标的采集与可视化分析,核心在于把内核暴露的连接状态、错误统计和协议栈行为转化为可抓取、可聚合、可下钻的时序数据,并在 Grafana 中构建面向业务影响的视图。关键不是堆指标,而是聚焦连接生命周期中的瓶颈点:建连是否卡顿、维持是否稳定、释放是否及时、异常是否高频。

采集哪些 TCP 关键指标

这些指标直接反映连接健康度,全部来自 /proc/net/snmp 和 /proc/net/netstat,Node Exporter 默认启用 --collector.netstat 即可采集:

  • 活跃连接数:node_netstat_Tcp_CurrEstab —— 当前 ESTABLISHED 状态连接数,是容量水位的核心参考
  • 新建连接速率:node_netstat_Tcp_InSegs 减去 node_netstat_Tcp_OutSegs 的差值趋势(需导出为 rate)—— 判断突发流量或爬虫冲击
  • 连接异常指标:node_netstat_Tcp_RetransSegs(重传段)、node_netstat_Tcp_EstabResets(异常关闭)、node_netstat_Tcp_AttemptFails(建连失败)—— 定位网络丢包、服务拒绝或客户端异常
  • 半连接队列压力:node_netstat_TcpExt_ListenOverflows 和 node_netstat_TcpExt_ListenDrops —— 指示 syn queue 溢出,常伴随 tcp_max_syn_backlog 不足或 SYN Flood

确保采集配置有效

光开 collector 不够,必须验证数据真实可用:

linux-performance-analyzer
linux-performance-analyzer

Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。

下载
  • 访问 Node Exporter 的 /metrics 页面(如 http://192.168.1.10:9100/metrics),搜索 Tcp_CurrEstab 或 Tcp_RetransSegs,确认有非零数值返回
  • Prometheus 抓取间隔设为 15s —— 太短会压垮 /proc/net/ 接口;太长(如 60s)会漏掉短时连接风暴或瞬时重传尖峰
  • 在 Prometheus 中用 rate(node_netstat_Tcp_RetransSegs[5m]) 计算每秒重传段数,比原始计数更有意义

Grafana 可视化建议

避免堆砌仪表盘,优先构建三类视图:

  • 连接健康看板:并列显示 CurrEstab(绝对值)、rate(Tcp_InSegs[1m])(建连速率)、rate(Tcp_RetransSegs[1m])(重传率),加一条 rate(Tcp_EstabResets[1m]) / rate(Tcp_CurrEstab[1m]) 计算异常断连占比
  • 建连失败归因图:用堆叠柱状图展示 TcpAttemptFails(SYN 超时)、TcpExtListenDrops(半连接丢弃)、TcpExtSynRetrans(SYN 重传)三者占比,快速区分是客户端问题、网络丢包还是服务端队列瓶颈
  • 连接生命周期热力图:用 Prometheus 的 histogram_quantile + Node Exporter 的 node_netstat_TcpExt_SynTime(如有启用 ethtool collector)或自定义 exporter 补充的连接建立耗时直方图,观察 P90/P99 建连延迟是否突增

结合内核参数做闭环分析

指标异常时,不能只看数字,要联动检查对应调优项:

  • 若 ListenOverflows > 0 持续出现,检查 net.ipv4.tcp_max_syn_backlog 和 net.core.somaxconn 是否足够,同时确认应用 listen() 的 backlog 参数未被低估
  • 若重传率高但 ListenDrops = 0,重点查 net.ipv4.tcp_rmem 是否过小导致接收窗口收缩,或是否存在中间设备限速/丢包
  • 若 CurrEstab 长期高位不降,配合 ss -s 输出验证是否存在 TIME_WAIT 泛滥,再检查 net.ipv4.tcp_tw_reuse 和 net.ipv4.tcp_fin_timeout 设置

相关文章

数码产品性能查询
数码产品性能查询

该软件包括了市面上所有手机CPU,手机跑分情况,电脑CPU,电脑产品信息等等,方便需要大家查阅数码产品最新情况,了解产品特性,能够进行对比选择最具性价比的商品。

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3690

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3213

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2293

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5490

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5142

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3053

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2565

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2779

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习