标题
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 方案一:纯原生命令(无需安装任何软件)
- 方案二:安装一个更直观的工具(推荐,看得最舒服)
- 标题示列输出如下
前言
在对服务器进行压测的时候 需要监控网卡的实际上下行的,每秒实际传输的速率(比如当前下行 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