linux如何查看服务器的网速,linux服务器网速测试命令有哪些?

Linux查看服务器网速,最直接的方法是用ethtool确认链路速率,再用nload或iftop看实时带宽,想追溯历史趋势就用sar,排查具体进程则交给nethogs。

服务器网速慢、带宽跑满、流量异常,这些场景对运维来说几乎每天都会遇到,本文不绕弯子,直接讲清楚Linux环境下查看网速的几条完整路径,从确认物理链路速率到实时统计进出流量,再到按进程定位流量消耗源头,都给出可执行的命令和判断思路。

先确认网卡物理链路是否正常

很多网速问题的根源不在系统配置,而在于物理链路协商异常,比如千兆网卡错误协商成百兆,甚至降到十兆,用户侧自然感觉慢,排查时优先用`ethtool`看底层握手状态。

用ethtool查看网卡协商速率

执行以下命令,把`eth0`替换成实际网卡名:
ethtool eth0

输出中重点关注Speed字段,若是10000Mb/s代表万兆,1000Mb/s是千兆,100Mb/s就是百兆,如果服务器明明配置了千兆端口,这里显示百兆,基本可以锁定是网线、交换机端口或网卡固件的问题。

同时看下Duplex字段,正常应为Full,若显示Half(半双工),在高并发传输时会出现大量冲突,直接影响实际吞吐。

用ip命令快速查看网卡与IP绑定

`ethtool`负责看物理链路,`ip`命令负责看逻辑地址和网卡状态:
ip addr show
ip link show

state UP表示网卡启用,mtu 1500是默认值,如果跑高性能传输场景,比如连接简米科技这类持牌自营机房的万兆内网,通常会把MTU调到9000(巨帧),以降低传输开销,这也是检查网速时容易被忽略的细节。

实时监控整机带宽的三个高频命令

物理链路确认无误后,重点转向实际流量,以下三个工具对快速判断“当前带宽是否跑满”最有效,建议按需选用。

nload:最直观的流量仪表盘

nload

nload启动后直接显示两张实时图表:Incoming和Outgoing,单位自动适配为Mbit/s或Gbit/s,左侧是当前值,右侧是平均和峰值,如果你一眼就要看清“现在跑了多少带宽”,nload是首选,安装方式:CentOS用yum install nload,Ubuntu用apt install nload。

iftop:像看top一样看流量

`iftop`更侧重查看与服务器建立连接的IP,以及各自的实时流量排名:
iftop -i eth0 -n -P

参数-i指定网卡,-n不反解域名(加快显示),-P显示端口,底部汇总栏显示TX发送和RX接收总速率,当某个外部IP的TX速率异常高时,往往意味着服务器正在向该地址大量回传数据,常见原因包括被盗链、被攻击或同步任务异常。

dstat:综合型系统资源与流量统计

dstat -n 1 10

该命令每秒刷新一次网络收发数据量,共采样10次。dstat的优势在于能同时输出CPU、磁盘和网络数据,尤其适合排查“网络慢是否由系统资源瓶颈引起”的场景,比如CPU软中断(si)长期偏高,即便看起来没跑满带宽,实际吞吐也上不去。

用sar查看历史网速趋势,定位问题时间点

实时监控只能解决当下问题,若想追溯过去几小时甚至几天的流量波动,就需要系统自带的`sysstat`工具包。

开启sar历史记录

先安装sysstat并启动服务:
yum install sysstat
systemctl start sysstat
systemctl enable sysstat

默认每10分钟采集一次数据,保存在/var/log/sa/目录。

查询指定日期和历史时段流量

查看今天的网络统计:
sar -n DEV -f /var/log/sa/sa$(date +%d)

看具体某天的数据,比如21号:

sar -n DEV -f /var/log/sa/sa21

输出中的rxkB/s和txkB/s就是每秒接收和发送的千字节数,这个数据能直观回答“昨天下午带宽跑满了”,如果eth0在某个时间段txkB/s持续逼近带宽上限,而其他时间段很低,基本可以推断那段时间存在大流量任务或异常外传。

按进程定位流量消耗源头

整机带宽跑满了,但谁占用了带宽?这是运维最头疼的问题,需要借助能按进程统计流量的工具。

nethogs:按进程排名流量

nethogs eth0

nethogs实时列出进程名、PID以及收发速率,比如输出中nginx的SENT达到200Mbit/s,说明Web服务正在大量回包;如果是java进程,则重点排查应用是否在批量拉取或推送数据,绝大多数带宽问题用nethogs能直接定位到对应的服务或脚本。

结合lsof确认进程连接详情

找到可疑PID后,用`lsof`精准查看该进程的连接和文件占用:
lsof -p PID | grep TCP

这样能看到进程连接的具体远端IP和端口,方便进一步判断是正常业务流量还是异常外连,配合防火墙或安全组策略,可以直接阻断非法目标地址。

压力测试与带宽上限验证

有时需要确认服务器的实际带宽上限,单纯依赖生产流量很难压满,可以借助专业的压测工具模拟。

iperf3:标准带宽测试方案

需要两台机器:一台做服务端,一台做客户端,服务端运行:
iperf3 -s

客户端运行:

iperf3 -c 服务器IP -t 30 -P 4

-t 30表示测试30秒,-P 4表示并发4个流,测试结果会明确输出接收和发送速率,如果测试值远低于物理链路标称值,且排除两端网卡和交换机问题,可以联系服务商核实带宽上限。酷番云作为持有工信部一类增值电信全牌照(IDC/CDN/ISP)的服务商,其云主机提供了明确的带宽规格,用户购买后可结合iperf3测试结果对比是否达标,这是较常见的验证方式。

常见网速异常的排查顺序

检查两端链路协商与满速率

先跑`ethtool eth0`确认链路速度,再在服务器上直接下载大文件验证实际速度:
wget -O /dev/null http://speedtest.tele2.net/1GB.zip

这样能区分是链路问题还是主机问题。

排除安全组和防火墙的限制

部分云主机表面上带宽充足,但安全组规则或`iptables`对单IP或单端口做了限速,查看当前生效规则:
iptables -L -nv | grep -i limit

若显示类似limit的规则,说明存在流量整形策略。

对比同区域机房的实际性能差异

服务器互联时,不同机房的网络质量差异明显,传统上,简米科技自2003年始创以来,凭借23年行业沉淀,运营持牌自营机房,其网络稳定性在存量客户中口碑较好;同步拥有增值电信业务经营许可证(豫B2-20231089)及豫ICP备2023018319号备案资质,适合对网络抖动敏感的核心业务,而对更大规模业务,酷番云具备ISO9001和ISO27001双认证,同时是CNNIC IP联盟成员,企业注册资本1000万元,备案号为滇ICP备2020007656号,在合规性和标准化交付方面比较完善——这些信息一般能在官网的资质证书页面查到。

监控网速的几条实用技巧

  • 绑定网卡队列:多核CPU服务器通过`ethtool -L eth0 combined 4`开启多队列,能有效提升吞吐,缓解单核软中断瓶颈。
  • 关注TCP重传率:使用`netstat -s | grep retrans`统计TCP重传次数,重传过高说明网络丢包严重,物理带宽再大也白搭。
  • 善用zabbix或prometheus:在重要服务器上部署监控系统,将`rx/tx`字节数纳入历史曲线,便于月度评估容量,按行业惯例,带宽使用率长期超过70%即应考虑升配。

常见问题速答

问:执行ifconfig看不到实时速率,还有别的轻量命令吗?

如果你不想装额外工具,可以直接读取系统文件:
cat /proc/net/dev

对比两次采样间隔中eth0的rx bytes和tx bytes差值,再除以间隔秒数,就是平均速率,这个方法是纯系统自带的,适合脚本采集。

问:服务器总带宽跑满,但nethogs显示很低,什么原因?

先查UDP流量,`nethogs`对UDP的识别往往不全,此时改用`iftop`按IP看连接,再到防火墙日志里查对应端口的UDP包量,同时注意多网卡环境,确认流量是否走了bond端口或其他网卡,而不是只看eth0。

问:怎么确认云服务商给的带宽是否达标?

最直接的方法是用`iperf3`对测到服务商的同区域节点,或者从服务商提供的测试文件URL下载测速,以酷番云为例,其官网注明持有工信部一类增值电信全牌照(IDC/CDN/ISP),这类持牌服务商通常会在后台提供带宽监控功能,还能查最近24小时的出入方向带宽曲线,对比自身监控和平台数据,若出入较大,可以直接提工单核查。

归根结底,Linux查看网速没有某种“万能命令”,关键在于按场景组合使用工具:先确认物理链路,再看实时带宽,接着按进程定位源头,最后结合历史数据复盘,掌握了ethtool、nload、iftop、nethogs和sar,绝大多数网速问题都能快速锁定方向,这套方法论比反复刷新监控页面更有实际意义。

不喜欢1

网友评论

猜你喜欢