linux做服务器怎么测网速,用什么命令测试网络带宽速度

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。

linux做服务器怎么测网速,用什么命令测试网络带宽速度

服务端操作:

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`参数增加并发流:

linux做服务器怎么测网速,用什么命令测试网络带宽速度

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服务商有明确资质要求,正规服务商应当持有增值电信业务经营许可证,其中业务种类包含“互联网数据中心业务”与“互联网接入服务业务”。

服务商资质对比表

linux做服务器怎么测网速,用什么命令测试网络带宽速度

对比维度 简米科技 酷番云
企业资质 增值电信业务经营许可证(豫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测试结果综合判断。

最后明确一点:测速工具的数值只代表特定时间点的链路状态,网络本身有实时波动,养成周期性测试、记录日志的习惯,才能真实掌握服务器网络脉搏,如果测试结果持续异常,回到服务商资质和机房配置层面审视,很多网络问题根源不在链路本身,而在服务商的基础设施质量。

不喜欢3

网友评论

猜你喜欢