在管理和维护 CentOS 服务器时,了解其实际的网络带宽性能至关重要,无论是为了排查网络瓶颈、验证服务商提供的带宽,还是优化服务器性能,精确的网络测速都是必不可少的一环,与桌面操作系统不同,CentOS 作为服务器环境,其网络测速主要通过命令行工具完成,本文将详细介绍几种在 CentOS 中进行网速测试的常用方法,从简单的下载测试到专业的带宽分析,帮助您全面掌握服务器的网络状况。
使用 speedtest-cli 进行全面测速
speedtest-cli
是一个非常有名的命令行工具,它是 Speedtest.net 网站的官方客户端,通过它,您可以方便地测试服务器的上传、下载速度以及网络延迟(Ping),并能获得与网页版相似的详细报告。
安装步骤
在较新的 CentOS 8/9 版本中,可以直接使用 dnf
包管理器安装:
sudo dnf install speedtest-cli
对于使用 yum
的旧版本 CentOS 7,可能需要先启用 EPEL (Extra Packages for Enterprise Linux) 仓库:
sudo yum install epel-release sudo yum install speedtest-cli
使用方法
安装完成后,使用非常简单,在终端中直接运行以下命令即可开始测速:
speedtest-cli
命令会自动选择最近的测试服务器,并返回类似如下的结果:
Retrieving speedtest.net configuration...
Testing from Your ISP (Your.IP.Address)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Your City ISP (City) [12.34 km]: 15.234 ms
Testing download speed................................................................................
Download: 95.42 Mbit/s
Testing upload speed................................................................................................
Upload: 45.18 Mbit/s
您也可以指定服务器进行测试,以获得更稳定或更具针对性的结果,列出所有可用服务器:
speedtest-cli --list
找到目标服务器的 ID,使用 --server
参数指定:
speedtest-cli --server [SERVER_ID]
使用 iperf3 进行内网或点对点测速
当您需要测试两台特定服务器之间的最大网络吞吐量时,例如局域网内两台机器或位于不同数据中心的两个 VPS,iperf3
是最专业、最准确的工具,它通过在客户端和服务器之间建立 TCP 或 UDP 连接,并持续传输数据来测量实际带宽。
iperf3
测试需要两台设备:一台作为服务器端(监听模式),另一台作为客户端(发起连接)。
安装步骤
在两台需要测试的 CentOS 服务器上均安装 iperf3
:
sudo dnf install iperf3 # 或 sudo yum install iperf3
使用方法
在服务器 A(服务端)启动监听模式:
iperf3 -s
服务器将开始监听默认的 5201 端口。
在服务器 B(客户端)连接服务器 A 并进行测试:
将[SERVER_A_IP]
替换为服务器 A 的 IP 地址。iperf3 -c [SERVER_A_IP]
测试将持续 10 秒(默认),并显示客户端到服务器的带宽,结果如下:
Connecting to host [SERVER_A_IP], port 5201 [ 5] local 192.168.1.101 port 54328 connected to 192.168.1.100 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 1.10 GBytes 944 Mbits/sec sender [ 5] 0.00-10.00 sec 1.10 GBytes 944 Mbits/sec receiver
要测试反向(即服务器 A 到 B 的上传速度),可以在客户端使用
-R
参数:iperf3 -c [SERVER_A_IP] -R
。
下表小编总结了 iperf3
常用的一些参数:
参数 | 说明 |
---|---|
-s | 以服务器模式运行 |
-c | 以客户端模式运行,并指定服务器IP |
-t | 指定测试时间(秒),默认为10秒 |
-P | 指定并行线程数,可以测试多连接带宽 |
-R | 反向测试(测试上传速度) |
-u | 使用 UDP 协议进行测试 |
工具对比与选择
工具 | 适用场景 | 优点 | 缺点 |
---|---|---|---|
speedtest-cli | 测试服务器到公网的“真实世界”网速 | 无需配置,自动选择节点,结果直观易懂 | 测试结果受制于第三方服务器和网络状况 |
iperf3 | 测试两点之间的最大理论带宽(如内网、VPS间) | 结果精确可控,不受公网波动影响,专业性强 | 需要两台设备协同操作,配置稍复杂 |
curl/wget | 快速、粗略地评估下载速度 | 系统通常自带,无需额外安装,操作简单 | 结果不够精确,只能测试单向下载,无法测上传和延迟 |
相关问答FAQs
为什么在 CentOS 上用 speedtest-cli 测出来的速度和我购买的带宽不符?
答: 这种情况很常见,原因可能有多方面。speedtest-cli
测试的是您的服务器到 Speedtest.net 某个特定节点的速度,而非连接到整个互联网的平均速度,这个节点的负载、地理位置以及中间所有网络节点的拥堵情况都会影响最终结果,服务商承诺的带宽通常是“共享带宽”或“峰值带宽”,在高峰时段可能会因其他用户抢占资源而达不到标称值,服务器自身的硬件性能(如网卡、CPU处理能力)和防火墙规则也可能成为瓶颈。
speedtest-cli 和 iperf3 的测速结果哪个更“准确”?我应该相信哪个?
答: 这两个工具的“准确”体现在不同维度上,它们服务于不同的目的。iperf3
测量的是在理想条件下,两个指定端点之间所能达到的最大原始吞吐量,其结果排除了公网不确定因素的干扰,因此对于衡量网络链路的“物理性能”或“最大容量”来说是准确的,而 speedtest-cli
测量的是服务器连接到公网的真实用户体验,包含了所有中间网络环节的影响,其结果对于评估用户访问您服务器的实际速度是更准确的参考,您应该根据您的测试目标来选择工具:排查内网或专线的物理瓶颈用 iperf3
,评估面向公众的网络服务质量用 speedtest-cli
。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复