菜鸟科技网

Linux测试带宽,哪个命令最准确?

在Linux系统中,测试带宽是网络管理和故障排查中的常见需求,通过命令行工具可以高效地监控网络速度、吞吐量及延迟等关键指标,以下是常用的Linux带宽测试命令及其详细使用方法,涵盖不同场景下的测试需求。

Linux测试带宽,哪个命令最准确?-图1
(图片来源网络,侵删)

基于文件传输的带宽测试

dd + pv 命令组合

通过本地生成大文件并传输,结合pv(Pipe Viewer)实时监控速度,适用于测试本地磁盘到网络的带宽。
步骤

  • 安装pv(若未安装):sudo apt install pv(Debian/Ubuntu)或sudo yum install pv(CentOS/RHEL)。
  • 生成1GB测试文件并传输:
    dd if=/dev/zero bs=1M count=1024 | pv | nc -l -p 1234  # 服务端监听1234端口

    客户端接收并测试速度:

    nc [服务器IP] 1234 | pv > /dev/null  # 客户端连接服务端

    输出示例
    00GiB 0:00:15 [68.7MiB/s] [=============>] 100%,显示实时传输速率。

iperf3 专业网络测试工具

iperf3是广泛使用的网络性能测试工具,支持TCP/UDP带宽、延迟、丢包率等测试。
服务端模式

Linux测试带宽,哪个命令最准确?-图2
(图片来源网络,侵删)
iperf3 -s -p 5201  # 默认端口5201,可自定义

客户端测试

iperf3 -c [服务器IP] -p 5201 -t 10  # 测试10秒TCP带宽
iperf3 -c [服务器IP] -u -b 1G -p 5201  # 测试UDP带宽,目标速率1Gbps

关键参数
| 参数 | 说明 |
|------|------|
| -s | 服务端模式 |
| -c | 客户端模式,需指定服务器IP |
| -t | 测试时长(秒) |
| -u | 使用UDP协议 |
| -b | UDP带宽限制(如100M) |
| -R | 双向测试(反向模式) |

输出解读

  • Sender(发送端)显示上传带宽,Receiver(接收端)显示下载带宽。
  • UDP测试会显示丢包率(Lost/Total Datagrams)和抖动(Jitter)。

基于网络连接的实时带宽监控

nload 实时流量监控

以图形化界面实时显示网络接口的入站(In)和出站(`Out)带宽。
安装与使用

Linux测试带宽,哪个命令最准确?-图3
(图片来源网络,侵删)
sudo apt install nload  # Debian/Ubuntu
nload -i eth0  # 指定监控网卡(如eth0)

界面说明

  • 上方为入站流量,下方为出站流量,包含当前速率(Curr)和平均速率(Avg)。

iftop 基于进程的带宽分析

按连接和进程实时显示网络带宽使用情况,适用于排查异常流量。
安装与使用

sudo apt install iftop  # Debian/Ubuntu
sudo iftop -i eth0  # 指定网卡

交互操作

  • s按源地址排序,按d按目标地址排序,按p按端口排序。
  • 显示实时连接的带宽占用(如=>表示上传,<=表示下载)。

bmon 带宽监控与统计

提供文本界面的实时流量监控,支持多接口和详细统计。
安装与使用

sudo apt install bmon  # Debian/Ubuntu
bmon -r eth0  -p show  # 指定网卡并显示实时统计

功能特点

  • 可切换视图(如rate显示速率,util显示利用率),按q退出。

其他实用工具

speedtest-cli 公网测速

通过Speedtest.net服务器测试公网带宽,适合快速检查网络速度。
安装与使用

curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash
sudo apt install speedtest-cli
speedtest-cli --server [服务器ID]  # 指定服务器ID

输出示例
Download: 245.32 Mbps, Upload: 45.12 Mbps, Ping: 12.3 ms

netperf 客户端/服务器模型测试

支持TCP/UDP/RTP等多种协议的性能测试,适合企业级网络评估。
服务端netserver -4 -p 12865
客户端netperf -4 -H [服务器IP] -t TCP_STREAM -p 12865


相关问答FAQs

Q1: 如何在Linux中测试特定端口的带宽?
A: 使用iperf3可指定端口测试,服务端运行iperf3 -s -p 1234,客户端执行iperf3 -c [服务器IP] -p 1234 -t 10,即可测试该端口的TCP带宽,若需测试UDP带宽,添加-u参数并设置目标带宽(如-b 100M)。

Q2: iperf3speedtest-cli有什么区别?如何选择?
A: iperf3是专业网络测试工具,需部署服务端和客户端,适合测试点对点网络性能(如内网服务器间带宽),支持自定义协议和参数。speedtest-cli则是基于公网Speedtest服务器的快速测速工具,无需额外部署,适合测试本地到互联网的带宽,若需精确控制测试环境或评估内网性能,选iperf3;若需快速了解公网网速,选speedtest-cli

分享:
扫描分享到社交APP
上一篇
下一篇