Linux网络性能监测方法_关键指标解析【教程】

发布时间 - 2026-01-05 00:00:00    点击率:
Linux网络性能问题核心是时延高、重传多、吞吐低,需通过ss -i、netstat -s、tcpretrans、dropwatch及ethtool -S等工具分层定位TCP重传、丢包位置、驱动级丢包和应用层队列瓶颈。

Linux 网络性能问题通常不是“连不上”,而是“时延高、重传多、吞吐上不去”——直接看 ifconfigip addr 没用,得盯住内核网络栈真实行为。

怎么看 TCP 重传和连接异常?用 ss -inetstat -s

ss -i 能实时显示每个 socket 的重传计数、RTT、拥塞窗口等,比 netstat 更轻量且准确;netstat -s 则汇总了全系统 TCP 层统计,重点看这几行:

  • TCPRetransSegs:已重传的 TCP 段数,持续增长说明链路丢包或接收端处理不过来
  • TCPTimeouts:超时重传次数,若远高于 TCPRetransSegs,可能是 RTO 设置过激或 RTT 波动极大
  • TCPSpuriousRtx:虚假重传(非丢包触发),常见于时间戳未开启或接收端延迟 ACK 过久

运行 netstat -s | grep -i -E "retrans|timeout|spurious" 可快速过滤。注意:CentOS 7+ 默认禁用 netstat,需装 net-tools 包;推荐优先用 ss -s(但不显示重传细节)。

丢包发生在哪一层?用 tcpretransdropwatch 定位

用户常误以为丢包=网卡问题,其实可能在 IP 层(如 ip_forward 关闭)、iptables 规则(REJECT 不计为 drop)、甚至 socket 接收队列溢出(Recv-Q 持续满)。

  • tcpretrans(来自 bcc 工具集)可追踪每个重传事件的源头 socket 和调用栈,需启用 ftrace 和 kernel debuginfo
  • dropwatch -d -l kas 监听内核 drop 点,输出类似 skb_drop: 10.244.1.5:48922 10.244.1.6:80 (tcp),能定位到具体协议栈函数(如 tcp_v4_do_rcvip_local_deliver
  • dropwatch 显示大量 nf_hook_slow,大概率是 iptables/nftables 规则匹配耗时或丢弃

没有 bcc?可用 cat /proc/net/snmp | grep -A1 Tcp 查看 EstabResets(异常关闭)和 AttemptFails(SYN 发出后无响应),辅助判断是服务未启还是中间拦截。

ethtool -S 输出里哪些字段真有用?

ethtool -S eth0 返回上百行计数器,多数与物理层相关,但只有几个对排查真实网络性能关键:

  • rx_discards:驱动层丢包,值 > 0 且持续增长 → 接收队列满(net.core.netdev_max_backlog 不足)或内存不足
  • rx_missed_errors:DMA 未及时取走数据导致 ring buffer 溢出,和 rx_discards 同时升高 → CPU 处理不过来或中断绑定不均
  • tx_aborted_errors / tx_carrier_errors:物理链路问题(网线、光模块、交换机端口协商失败),非软件可调
  • 避开干扰项:rx_crc_errors 在千兆以上网卡中极少由真实 CRC 错误引起,更多是 DMA 边界错位,不必优先排查

注意:不同网卡驱动暴露的字段名差异大(如 ixgbe 用 rx_discards,igb 用 rx_dropped),务必查对应驱动文档。

为什么 ping 延迟低,但应用 HTTP 却卡顿?看 socket 队列和 TIME_WAIT

ping 测的是 ICMP echo,绕过传输层和应用层缓冲;而 HTTP 卡顿往往卡在:

  • 发送端 Send-Q 持续 > 0(ss -tni 查看),说明应用 write() 后内核发不出去 → 拥塞控制压制、对端接收窗口为 0、或网卡 TX queue 堵塞
  • 大量 TIME-WAIT socket 占满本地端口(尤其短连接服务),表现为 connect(): Cannot assign requested address → 调整 net.ipv4.ip_local_port_rangenet.ipv4.tcp_fin_timeout,但更优解是复用连接或改用 net.ipv4.tcp_tw_reuse = 1(仅客户端有效)
  • ss -lnt 显示监听端口 Recv-Q 长期 > 0 → 应用 accept() 太慢,或被信号/锁阻塞

别迷信 iftopnethogs 显示的“实时流量”,它们基于 pcap 抓包,本身会引入延迟且无法反映队列堆积。真正瓶颈往往藏在 ss -icwndrttretrans 字段里。


# linux  # centos  # 端口  # 工具  #   # ai  # 网卡驱动  # .net  # 为什么  # echo  #   # 事件  # http  # 持续增长  # 链路  # 可调  # 的是  # 应用层  # 时延  # 能在  # 有几个  # 藏在  # 表现为 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 活动邀请函制作网站有哪些,活动邀请函文案?  使用豆包 AI 辅助进行简单网页 HTML 结构设计  详解Android——蓝牙技术 带你实现终端间数据传输  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  如何快速搭建高效WAP手机网站吸引移动用户?  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  javascript基本数据类型及类型检测常用方法小结  Python高阶函数应用_函数作为参数说明【指导】  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  如何获取免费开源的自助建站系统源码?  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  高端云建站费用究竟需要多少预算?  如何在 Pandas 中基于一列条件计算另一列的分组均值  高端网站建设与定制开发一站式解决方案 中企动力  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  nodejs redis 发布订阅机制封装实现方法及实例代码  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  如何用景安虚拟主机手机版绑定域名建站?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  如何在橙子建站中快速调整背景颜色?  网站图片在线制作软件,怎么在图片上做链接?  如何用PHP快速搭建高效网站?分步指南  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  清除minerd进程的简单方法  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  如何在不使用负向后查找的情况下匹配特定条件前的换行符  Laravel Session怎么存储_Laravel Session驱动配置详解  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  网站制作报价单模板图片,小松挖机官方网站报价?  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  公司网站制作价格怎么算,公司办个官网需要多少钱?  ,交易猫的商品怎么发布到网站上去?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  Laravel API资源类怎么用_Laravel API Resource数据转换  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  Python文件流缓冲机制_IO性能解析【教程】  如何选择可靠的免备案建站服务器?  Laravel怎么上传文件_Laravel图片上传及存储配置  js实现获取鼠标当前的位置  北京专业网站制作设计师招聘,北京白云观官方网站?  如何快速生成高效建站系统源代码?  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  轻松掌握MySQL函数中的last_insert_id()  中山网站推广排名,中山信息港登录入口?