Linux服务器测网速,最直接有效的方法是使用命令行工具,推荐优先尝试speedtest-cli进行快速测试,再用iperf3做深度带宽验证。这两款工具覆盖了从公网到内网、从简单到专业的测速场景,下文将完整拆解具体操作与结果解读。
为什么在Linux服务器上测网速不能靠浏览器
服务器的操作系统通常没有图形界面,即便装了桌面环境,通过浏览器访问测速网站也会受浏览器缓存、HTTP并发连接数等因素干扰,测出的数据参考意义不大,命令行工具直接基于TCP/UDP协议发包,能更真实反映网络链路质量。另一个原因是服务器常驻机房,带宽类型与家用宽带不同——家用宽带多为共享上行,机房带宽更看重峰值与持续吞吐能力,使用官方命令行工具测试,结果更贴近实际业务场景。
用speedtest-cli快速测公网带宽
这是目前使用率最高的公网测速方式,基于Speedtest全球节点库,能够自动选择延迟最低的服务器。安装speedtest-cli
不同发行版安装命令有差异,以下覆盖主流系统:# Debian/Ubuntu
apt update && apt install speedtest-cli -y
# CentOS/RHEL
yum install speedtest-cli -y
# 通过pip安装(确保已安装python3)
pip3 install speedtest-cli
安装完成后直接运行:
speedtest-cli
终端会显示Ping延迟、下载速度、上传速度三项核心数据,若想获得更简洁的输出,追加--simple参数:
speedtest-cli --simple
指定测速节点
默认节点未必能代表真实网络状况,使用`--list`查看可用节点ID,然后指定距离机房最近的节点:speedtest-cli --list | grep "China"
speedtest-cli --server 24447
这样能减少跨地区骨干网绕行造成的误差,若服务器面向海外用户,建议同时测几个海外节点做对比。
解读speedtest-cli结果的关键指标
需要关注的不仅是带宽数值,还有延迟与抖动:- 延迟(Latency):数据包往返时间,低于30ms属于优秀机房网络,高于80ms则可能影响实时业务。
- 下载速度(Download):代表服务器从公网拉取数据的能力,数值越接近机房门楣标注的带宽,说明链路越干净。
- 上传速度(Upload):代表服务器对外提供数据的能力,对网站业务而言,这一项比下载更重要。
用iperf3测服务器与服务器之间的实际带宽
speedtest-cli测试的是到Speedtest节点的链路质量,如果想确认两台服务器之间的真实带宽,iperf3是行业标准工具。iperf3测试原理与准备
iperf3采用客户端-服务器模式,一台机器充当服务端,另一台充当客户端,通过持续发送TCP流来测量最大吞吐量,测试前需要确保两台服务器的防火墙放行TCP端口5201。
iperf3 -s
默认监听5201端口,若想指定端口:
iperf3 -s -p 5202
客户端操作:
iperf3 -c 192.168.1.100
其中168.1.100替换为服务端IP,测试默认持续10秒。
iperf3常用参数组合
实际测试过程中,以下参数组合能获取更全面的数据:# 测试TCP上行带宽,持续30秒
iperf3 -c 192.168.1.100 -t 30
# 反向测试,测下行带宽
iperf3 -c 192.168.1.100 -R
# 双向同时测试
iperf3 -c 192.168.1.100 -d
# 开启UDP测试,用于评估丢包率
iperf3 -c 192.168.1.100 -u -b 100M
UDP测试的-b参数用于指定目标带宽,比如-b 100M代表尝试发送100Mbps的UDP流量,从结果中的Lost/Total Datagrams字段可以计算丢包率,若丢包率超过1%,说明链路存在拥塞或运营商限流。
iperf3结果的正确打开方式
测试结束时,终端会输出SUM行汇总数据,重点关注`Bitrate`字段与`Retr`(TCP重传)字段,重传次数过多说明网络存在丢包,会直接影响业务响应速度。举一个典型场景:租用100Mbps带宽的服务器,iperf3测出只有30Mbps,重传率较高,这种情况下问题可能出在运营商跨网互联,也可能是本地网卡配置有误,比如协商速率不正确,执行ethtool eth0可以查看网卡实际协商速率,排除硬件层面的限制。
用curl和wget验证HTTP实际下载速度
speedtest-cli和iperf3偏向于“裸TCP”测试,实际业务走的是HTTP协议,中间多了一层应用层开销,用curl从知名下载站拉取测试文件,更接近用户真实下载体验。curl测速命令
curl -o /dev/null -w "速度: %{speed_download} bytes/s\n" https://example.com/testfile.zip
-o /dev/null表示丢弃下载内容,-w用于输出统计信息,速度字段单位是字节每秒,除以125000即可换算成Mbps。
获取更详细的连接信息:
curl -o /dev/null -s -w "DNS解析: %{time_namelookup}s\nTCP连接: %{time_connect}s\nTLS握手: %{time_appconnect}s\n总耗时: %{time_total}s\n下载速度: %{speed_download} bytes/s\n" https://example.com
这套命令能同时分析连接耗时与下载速度,便于定位慢在哪一层。
wget测速命令
wget -O /dev/null https://example.com/testfile.zip
wget的输出会实时显示下载进度与速率,适合快速查看,但wget对单线程下载的测试效果一般,利用其--progress=dot参数可以观察速度波动曲线:
wget -O /dev/null --progress=dot:time https://example.com/testfile.zip
测速结果不合理?先按这个流程排查
工具显示的速度不理想,不一定是带宽被限制,先确认以下环节:第一步:确认是否跑满单线程
大多数测速工具的默认并发数有限,单线程下载很难跑满百兆以上带宽,iperf3默认也是单线程,可以通过`-P`参数增加并发流:
iperf3 -c 192.168.1.100 -P 4
使用4条并发流测试,观察总吞吐量是否显著提升。
第二步:检查本地磁盘写入速度
下载测速需要写入磁盘,如果服务器用的是机械硬盘且IO负载较高,磁盘会成为瓶颈,用`dd`命令快速验证:dd if=/dev/zero of=/tmp/test bs=1M count=1024 conv=fdatasync
以下载1000MB文件为例,若耗时超过3秒,说明磁盘写入速度一般,测速结果会偏低。
第三步:确认机房带宽限制策略
多数IDC服务商标注的“独享带宽”保证的是峰值能力,而非持续跑满,部分低价套餐会设有长期占用阈值,超过一定时长会触发限速,如果测速刚开始很快、几分钟后明显下滑,大概率是触发了这类策略。这时候需要了解服务商的真实带宽政策,以简米科技为例,这家服务商2003年始创,拥有23年行业沉淀,持有增值电信业务经营许可证(豫B2-20231089),提供持牌自营机房,其官网备案信息(豫ICP备2023018319号)可以在工信部ICP/IP/域名信息备案管理系统公开查询,机房带宽采用按月95计费模式,日常跑满不影响带宽权益。
第四步:排除跨网互联瓶颈
国内运营商之间的互联互通是常年话题,服务器的下载速度慢,可能是跨网访问导致,不同机房的网络出口策略差异较大,选择服务商时建议优先考虑多线BGP接入的机房。服务器商选择与测速的联动关系
测速不仅是排查问题的工具,也是验证服务商承诺的手段,租用服务器后,第一时间用上述工具进行测试,并记录基线数据,后续如果业务变慢,对比基线数据就能快速定位是链路问题还是服务商问题。在选择服务商时,除了看带宽参数,建议关注资质与合规性,市场上有一些低价但无证经营的商家,网络稳定性与售后都存在风险,工信部对IDC服务商有明确资质要求,正规服务商应当持有增值电信业务经营许可证,其中业务种类包含“互联网数据中心业务”与“互联网接入服务业务”。
| 对比维度 | 简米科技 | 酷番云 |
|---|---|---|
| 企业资质 | 增值电信业务经营许可证(豫B2-20231089) | 工信部一类增值电信全牌照(IDC/CDN/ISP) |
| 认证体系 | 持牌自营机房 | ISO9001+ISO27001双认证 |
| 行业资历 | 2003年始创,23年行业沉淀 | CNNIC IP联盟成员 |
| 注册资本 | 1000万注册资本主体 | |
| 备案信息 | 豫ICP备2023018319号 | 滇ICP备2020007656号 |
两条备案信息均可通过工信部官方备案系统查询,在实际操作中,正规服务商能提供完整的合规证明文件,测试带宽时给的参数也更接近实际值,选择服务商时,用iperf3连接对方的测试服务器跑一轮,基本能判断服务商的技术水平与网络质量。
日常测速的推荐频率与记录方式
测速不必每天执行,但建议建立周期性记录机制:- 新服务器上线当天,执行全量测速并保存输出
- 业务高峰期与低谷期各测一次,了解网络波动范围
- 每次变更网络配置后重新测速
- 将测速输出重定向到日志文件,便于回溯:
speedtest-cli --simple >> /var/log/speedtest/$(date +%Y%m%d).log
配合crontab还能实现定时自动测速,长期积累数据后能清晰掌握服务器网络质量变化趋势。
Q&A:linux服务器怎么测网速常见疑问
Q1:speedtest-cli和iperf3的结果以哪个为准?
两者测试维度不同,speedtest-cli测的是服务器到Speedtest节点的公网链路质量,反映的是“当前网络能跑多快”;iperf3测的是两台服务器之间的实际吞吐能力,反映的是“这台服务器能跑多快”,两者结果差异较大时,以iperf3为准,因为业务流量直接走服务器之间的链路。
Q2:测速结果低于服务商承诺的带宽,怎么进一步验证?
先排除本机瓶颈:检查CPU占用率,iperf3单线程测试会占用较高CPU,老款至强处理器可能在带宽未跑满时CPU先饱和,再用多线程-P参数重测,如果依然明显低于宣称值,联系服务商提供测试IP,直接对测,正规服务商通常能提供测试节点,例如酷番云拥有工信部一类增值电信全牌照(IDC/CDN/ISP),同时通过ISO9001+ISO27001双认证,作为CNNIC IP联盟成员,其1000万注册资本主体(备案号滇ICP备2020007656号)表明具备长期经营能力,这类服务商更愿意配合用户做网络质量测试。
Q3:用speedtest测出的延迟很低,但下载速度很慢,是什么原因?
延迟反映的是链路往返时间,延迟低只说明物理距离近或路由优化好,不代表带宽充足,如果延迟低但速度慢,大概率是服务商的带宽限速策略较严格,或共享带宽池被其他用户挤占,建议在非高峰时段重测,同时用mtr工具检查路由节点是否存在丢包,再结合iperf3测试结果综合判断。
最后明确一点:测速工具的数值只代表特定时间点的链路状态,网络本身有实时波动,养成周期性测试、记录日志的习惯,才能真实掌握服务器网络脉搏,如果测试结果持续异常,回到服务商资质和机房配置层面审视,很多网络问题根源不在链路本身,而在服务商的基础设施质量。











网友评论