服务器压测必备:两种实时监控网卡传输速率的方法(原生命令 vs nload工具)

📅 2026/7/11 4:40:45 👁️ 阅读次数 📝 编程学习
服务器压测必备:两种实时监控网卡传输速率的方法(原生命令 vs nload工具)

标题

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 方案一:纯原生命令(无需安装任何软件)
  • 方案二:安装一个更直观的工具(推荐,看得最舒服)
    • 标题示列输出如下

前言

在对服务器进行压测的时候 需要监控网卡的实际上下行的,每秒实际传输的速率(比如当前下行 5.2MB/s,上行 1.1MB/s)


方案一:纯原生命令(无需安装任何软件)

直接复制下面这整段命令到终端执行(记得把 eth0 换成你的实际网卡名,比如 ens33):

interface="eth0";whiletrue;dor1=$(cat/sys/class/net/$interface/statistics/rx_bytes);t1=$(cat/sys/class/net/$interface/statistics/tx_bytes);sleep1;r2=$(cat/sys/class/net/$interface/statistics/rx_bytes);t2=$(cat/sys/class/net/$interface/statistics/tx_bytes);echo"$(date+%H:%M:%S)下行 ↓:$(((r2-r1)/1024))KB/s | 上行 ↑:$(((t2-t1)/1024))KB/s";done

效果:它会每秒刷新一次,直接打印出当前的实时下行(接收)和上行(发送)速度,单位是 KB/s。按 Ctrl + C 停止。

如果想以 MB/s 显示,把里面的 1024 都改成 1048576(即1024*1024)。

方案二:安装一个更直观的工具(推荐,看得最舒服)

如果允许装软件,nload 依然是首选,它会把上下行用柱状图动态画出来,一秒都不卡顿:

# 安装(二选一)sudoaptinstallnload# Ubuntu/Debiansudoyuminstallnload# CentOS/RHEL# 执行(-u M 表示以 MB/s 显示实际速度)nload-uM

补充:想看具体哪个IP或进程在跑“实际”流量?
看IP连接:iftop -i eth0(实时显示每个外部IP的收发速度)

看进程:sudo nethogs eth0(实时显示每个程序/进程的收发速度)

总结:如果不想装东西,直接复制方案一那段命令,改个网卡名就能跑;如果想看动态图表,就用 nload -u M。这两个都是直接显示“每秒实际传输了多少数据”。

标题示列输出如下

Device eth0[172.27.0.23](1/2):==Incoming:########### Curr: 2.85 MByte/s# Avg: 2.74 MByte/s# Min: 2.41 MByte/s# Max: 3.09 MByte/s# Ttl: 1797.30 GByteOutgoing:############ Curr: 20.06 MByte/s# Avg: 19.64 MByte/s# Min: 18.82 MByte/s# Max: 20.56 MByte/s# Ttl: 6628.83 GByte