| 指标 | 工具 | 含义 |
|---|---|---|
| 带宽 (Bandwidth) | ethtool, iperf3 | 理论最大传输速率 |
| 吞吐量 (Throughput) | iperf3, sar -n DEV | 实际传输速率 |
| 延迟 (Latency) | ping, mtr | RTT (往返时间) |
| 抖动 (Jitter) | iperf3 -u | 延迟变化程度 |
| 丢包率 (Packet Loss) | ping, mtr, iperf3 | 数据包丢失比例 |
| 重传率 (Retransmit) | ss -ti, netstat -s | TCP 重传比例 |
| 连接数 | ss -s | 活跃连接总数 |
# 网卡信息
ethtool eth0 # 速率、双工、驱动
ip -s link show eth0 # 收发字节/包/错误
# 逐接口流量
sar -n DEV 1 # 各接口流量
iftop # 按连接展示流量
nload # 简洁流量图
bmon # 带宽监控
# 连接统计
ss -s # 汇总
ss -tan state established # ESTABLISHED 连接
ss -tan state time-wait | wc -l # TIME_WAIT 计数
ss -ti # TCP 详情(含 RTT、cwnd 等)
# 重传统计
netstat -s | grep -i retrans
ss -ti | grep -oP 'retrans:\d+' # 每个连接的重传数
ping -c 10 -i 0.2 example.com # RTT 和丢包率
mtr -r -c 60 example.com # 逐跳延迟和丢包
tcptraceroute example.com 80 # TCP 方式 traceroute
# 抓包
tcpdump -i eth0 -w /tmp/cap.pcap host 10.0.0.1
# TCP 重传模式分析
# 使用 Wireshark 或 tshark 分析 pcap 文件
tshark -r /tmp/cap.pcap -Y "tcp.analysis.retransmission" \
-T fields -e frame.time_relative -e ip.src -e ip.dst
# 丢包分析
cat /proc/net/dev # 各接口错误/丢包计数
tc -s qdisc show dev eth0 # 流量控制丢包
# TCP 缓冲区
net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
net.ipv4.tcp_rmem = 4096 87380 134217728
net.ipv4.tcp_wmem = 4096 65536 134217728
# 连接队列
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
# TIME_WAIT 优化
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 15
# 端口范围
net.ipv4.ip_local_port_range = 1024 65535
网络慢?
├─ ping 延迟高 → mtr 定位哪一跳 → 联系 ISP/换线路
├─ 吞吐量低但延迟正常 → 检查窗口大小/带宽限制
├─ 重传率高 → 检查网卡错误/交换机丢包/防火墙
├─ TIME_WAIT 堆积 → 短连接改长连接/调整内核参数
├─ 连接数异常 → 检查连接泄漏/调整 somaxconn
└─ 软中断 CPU 高 → RSS 中断亲和性/网卡队列数