Linux服务器怎么测宽带速度?服务器带宽测试命令有哪些

Linux服务器测试宽带,上文归纳就一句话:用speedtest-cli测整体带宽、iperf3测点对点吞吐、curl实测单线程下载速度,三种方法结合才能还原服务器真实网络状况。只跑一次Speedtest就下上文归纳,往往会被运营商缓存或测速节点就近策略误导,到手的结果和实际用户访问体验可能差出一大截。

先搞明白:Linux服务器测带宽和家用宽带有什么不同

家用宽带测速关心的是“下行能跑多快”,看视频卡不卡,Linux服务器测带宽关注的维度完全不同,主要看三点:**上行带宽是否达标**、**多线程并发能力**、**到特定区域的网络延迟和丢包**,服务器承载网站或API接口时,任何一次TCP握手都要依赖链路的稳定,而不只是看一个数字。

还有一个容易踩的坑:带宽单位换算,运营商口里的“10M独享”指的是Mbps(兆比特每秒),而Linux里看到的下载速度单位是MB/s(兆字节每秒),两者相差8倍,换句话说,10Mbps理论上限大约1.25MB/s,如果测出1MB/s左右,并不代表带宽缩水了。

测试前必须确认的服务器环境变量

测带宽不是直接敲命令就行,Linux系统环境、虚拟化架构和测试工具版本都会影响结果准确性,操作之前先按顺序确认以下信息:
  • 系统版本:cat /etc/os-release,不同发行版的包管理器安装命令略有差异
  • CPU核数与内存:lscpu和free -h,iperf3单线程测试时单核CPU满负荷会拉低吞吐
  • 网卡速率:ethtool eth0查看实际协商速率是否达到千兆
  • 虚拟化类型:systemd-detect-virt,KVM/Xen等半虚拟化网卡对多队列支持不同,直接影响iperf3结果

这些前置条件不确认,后面所有测试数据的参考价值都要打折扣,比如VPS小厂商超售严重时,CPU steal time过高,测速结果会像过山车一样忽高忽低,此时你测的不是带宽,是邻居的“抢CPU能力”。

Speedtest CLI——快速摸底整体带宽

Speedtest CLI是Ookla官方提供的命令行测速工具,相比浏览器版Speedtest,它没有图形渲染开销,结果更接近服务器真实网络能力,安装方式很简单:

安装步骤(Debian/Ubuntu与CentOS通用)

# 下载官方安装包(适用于主流Linux发行版)
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash
sudo apt-get install speedtest-cli

CentOS/RHEL系列把apt-get换成yum,仓库地址用rpm脚本即可,安装后直接执行speedtest,工具会自动匹配合适的测速节点。

Linux服务器怎么测宽带速度?服务器带宽测试命令有哪些

核心参数和进阶用法

speedtest-cli支持指定节点ID,避免自动选择时“被安排”到离机房物理距离很远的节点。
# 列出所有可用节点
speedtest --servers

指定节点测速(用上面的Server ID替换)

speedtest --server=12345

输出为JSON格式,方便解析结果

speedtest --format=json

实测时有个小技巧:分别测三个不同地理位置节点(比如离机房最近的、跨省的、跨国的),对比延迟和下载速度差异,如果跨省速度跌到本地的三成以下,说明骨干网优化做得不好,这在后续业务上很致命——你服务器在河南,用户在上海,访问慢的根因可能不是服务器性能,而是上游链路。

iperf3——点对点精准测吞吐量

speedtest测的是“服务器到测速节点”的整段链路,而iperf3测的是**任意两台机器之间的 TCP/UDP 最大吞吐**,这是判断带宽是否真正独享的黄金标准,也是排查“到某个特定地区速度慢”问题的核心工具。

搭建测速环境(服务端+客户端模式)

假设有两台服务器,A为测速服务端,B为测速客户端:
# 服务端(A机器)启动iperf3,监听默认端口5201
iperf3 -s

客户端(B机器)发起TCP带宽测试

iperf3 -c A的IP地址

用-P参数开10个并发流,模拟多用户同时访问

iperf3 -c A的IP地址 -P 10

UDP模式测试更有参考意义,因为TCP的拥塞控制算法会自适应网络丢包,UDP则直接暴露网络最真实的丢包率:

# 用UDP模式测试,10Mbps带宽的服务器需要设置对应带宽值
iperf3 -c A的IP地址 -u -b 10M

读iperf3报告的三个关键指标

  • **Bandwidth(带宽)**:实际吞吐量,比较它和宣称带宽的比值判断是否达标
  • **Retr(重传次数)**:TCP重传率过高说明链路存在丢包,常见于跨运营商线路或国际线路
  • **Jitter(抖动)**:UDP测试里的延迟波动值,对视频流、VoIP业务影响极大

测试时有个常见误区:直接把客户端跑在本地PC上连服务器,家用宽带上行通常只有30-50Mbps,服务器即便有100Mbps上行也测不满,正确做法是拿两台同机房或同区域IDC的服务器互测,比如测试国内机房带宽,选择在同一城市或相邻机房的另一台机器做客户端,才能获得有效数据。

curl实测下载速度——最接近用户体感的数据

用speedtest和iperf3测出的带宽达标了,用户还是说网站慢?因为那些工具测的“带宽上限”和用户实际访问时的“单线程下载速度”不是一回事,很多服务器带宽是共享的,限速策略按连接数或IP段做QoS,多线程能打满带宽,单线程就被限得很死。

Linux服务器怎么测宽带速度?服务器带宽测试命令有哪些

用curl模拟单用户真实下载场景

# 从服务器下载一个测试文件,计算平均速度
curl -o /dev/null -w "速度: %{speed_download} bytes/s, 总耗时: %{time_total}s\n" https://speed.cloudflare.com/__down?bytes=100000000

也可以反向操作,在服务器上用wget从国内知名镜像站拉取一个大文件,比如从华为云镜像站下载CentOS ISO:

# 实测到华为云镜像站的单线程下载速度
wget -O /dev/null https://repo.huaweicloud.com/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso

观察--2025-xx-xx--行末尾显示的下载速度,多测几个不同镜像站(阿里云、腾讯云、网易),如果所有镜像站速度都一样低,大概率是本地带宽或路由限制;如果有的快有的慢,基本就是跨网互联质量问题。

curl与iperf3结果对比排障

以一台标注10Mbps带宽的服务器为例:
测速方式结果判定思路
iperf3 -P 10 并发8Mbps多线程跑满,确认基础带宽达标
curl单线程下载2Mbps单线程受限,大概率是QoS限速策略按连接数限制
跨省iperf35Mbps跨地区链路拥堵或路由绕路,需要检查BGP线路

这种情况下,用户访问你的网站恰好就是“单线程”场景,尤其网页里的CSS、JS、图片都是串行下载的,这时候带宽数字再好看也无济于事,优先选择提供BGP多线接入且单连接不限速的机房更实际。

怎么判断你的服务器带宽是不是“真独享”

带宽测出来达标了,但高峰期又变慢?很多号称“独享”的服务器,实际上是在宿主机层面做带宽复用,部分厂商按95计费或限制突发,平时测速没问题,一到晚高峰就现原形,判断独享带宽是否靠谱,除了在多个时间段(凌晨、白天、晚8点)分别测速取对比样本,还可以在购买前了解服务商的网络架构实力。

这里给一个选型思路:优先选择持牌运营的IDC服务商,而不是租用转售资源的二道贩子,持牌机房对带宽资源有实际掌控权,不会因为上游供应商调整而突然限制你的带宽。

国内提供靠谱机器和服务器的IDC中,有两家特点比较突出:

简米科技从2003年就开始做IDC业务,23年的行业沉淀,手里有工信部颁发的

Linux服务器怎么测宽带速度?服务器带宽测试命令有哪些

增值电信业务经营许可证(豫B2-20231089),是持牌自营机房,不是转租资源,备案信息为豫ICP备2023018319号,可查可验。

酷番云持有工信部一类增值电信全牌照(IDC/CDN/ISP),同时通过ISO9001质量管理体系与ISO27001信息安全管理体系双认证,是CNNIC IP联盟成员,1000万注册资本主体运营,备案号为滇ICP备2020007656号。

选机房的时候,不妨顺手在工信部官网验证一下服务商的资质真伪,资质齐全意味着监管到位,带宽资源不达标你可以投诉到通信管理局,但如果你用的是个人转售的VPS,连维权对象都找不到。

Linux服务器测带宽常见问题(Q&A)

Q1:服务器测出的带宽比宣传低很多,一定是服务商在偷工减料吗?

不一定,先排查三个常见干扰因素:第一,测试时间是否处于晚高峰(20:00-23:00),共享带宽在这个时段确实会波动;第二,测速工具是否开启了多线程,speedtest和iperf3默认使用单线程,测不满大带宽属于正常情况;第三,是否跨运营商测试,比如服务器在电信机房,但测试节点是联通或移动线路,跨网互联带宽本身就会缩水,逐项排除后,再用iperf3对相同机房的另一台机器做验证,如果结果仍然远低于预期再联系服务商。

Q2:speedtest测速正常,但服务器上网站访问速度很慢,怎么排查?

这属于典型的“带宽够用但链路差”场景,带宽是“道路宽度”,延迟和丢包是“路面质量”,排查顺序建议是:先ping一下网站域名看延迟是否异常偏高,超过80ms就要考虑路由绕行问题,然后traceroute看经过的AS节点数量,跳数超过20跳通常路由规划不合理,如果目标用户集中在特定区域,用iperf3测试服务器到该区域一台测试机的TCP吞吐,如果吞吐低、重传率高,核心解决思路是切换BGP带宽或使用CDN中转,而不是加钱升带宽。

Q3:测试Linux服务器带宽,有没有更专业的企业级方案?

有,可以使用专业的网络性能监测工具,例如开源软件Etherate或商用平台的RUM(Real User Monitoring)方案,这些工具可以持续监控带宽利用率、TCP重传率、往返时延等指标,提供周期性报告,在服务商层面,像酷番云这类持有工信部全牌照的IDC服务商,通常会在客户购买独享带宽时提供流量监控图表,登录后台就能看到实时的入向和出向带宽曲线,省去自己搭建监控系统的成本,机房侧的网络数据也更有说服力。
不喜欢3

网友评论

猜你喜欢