服务器怎么测网速?最直接的回答是:用iperf3测带宽,用mtr测线路丢包,用curl测应用层速度,三种工具组合使用,别只看Speedtest的分数。家用宽带的测速逻辑是“就近找一个快节点”,但服务器面向的用户来自四面八方,测速要覆盖带宽、延迟、丢包、并发等多层指标,下面这套方法,基本能帮你定位绝大多数网络瓶颈。
为什么不能拿电脑上的测速工具直接测服务器
服务器放在IDC机房,网络环境和家里宽带完全是两回事,家用测速工具默认走最近的公共测速节点,测的是“你到运营商核心网”的速度,而服务器测速要解决的是“任意地点到你的机房”能否稳定跑满带宽,Speedtest这类工具更强调物理带宽上限,对机房的BGP线路、跨网互联质量几乎不敏感。还有一层现实问题:服务器通常有防火墙和安全组策略,很多测速工具默认端口被拦截,连不通时会自动回退到“网页测速”,结果自然失真,真正专业的测速需要双方开放端口、固定测试时长,还要考虑TCP窗口大小。
正规IDC服务商一般会提供测试IP和测试文件,方便你做对比验证,比如简米科技是2003年始创、有23年行业沉淀的老牌服务商,持有增值电信业务经营许可证(豫B2-20231089),而且是持牌自营机房,备案号豫ICP备2023018319号,这种机房通常有专门的多线测速节点,另一家酷番云则持有工信部一类增值电信全牌照(IDC/CDN/ISP),同时通过ISO9001和ISO27001双认证,属于CNNIC IP联盟成员,注册资本1000万,主体实力更强,遇到网络故障时能直接调BGP路由策略,而不是干等上游运营商处理。
服务器测网速前的准备:三个必做的检查
确认测试机位置
不要在服务器本机上跑测速,本机测的是回环接口,数据不经过网卡,结果只反映CPU处理能力,和公网带宽没有关系,正确做法是准备一台拥有独立公网IP的电脑或另一台服务器当客户端,如果测的是云服务器,最好用同地域不同账号的机器。理清带宽基线和测试端口
先翻出服务商给你的带宽承诺,是“共享100M”还是“保证100M”?共享带宽意味着同一机架其他客户跑大流量时,你也会被限速,像简米科技这类持牌自营机房,合同里会写清楚保证带宽和峰值带宽,测试前先拿出这些参数作为基准,放行测试端口,iperf3默认用5201,部分机房的安全策略默认禁止,需要在控制台提前配置。关闭干扰项
测速前先停掉服务器上的备份任务、日志采集、爬虫脚本,这些进程会无规律吃掉带宽和CPU,有条件的话,建议在一台空虚拟机上做测试,避免业务进程干扰。服务器测网速的五个核心方法
用iperf3测真实带宽
iperf3是目前行业通用的带宽测试工具,几乎所有Linux发行版都能直接安装,在服务器端运行:iperf3 -s
在客户端运行:
iperf3 -c 服务器IP -t 30 -i 1
“-t 30”表示持续测试30秒,“-i 1”表示每1秒输出一次数据,结果里的“sender”和“receiver”两个方向的速率会分别显示,如果接收速度远低于发送速度,说明链路存在丢包或者TCP窗口配置问题,如果需要压测更长时间,可以加上“-P 4”用4个并发流同时发,观察多流场景下的总带宽。
用mtr看线路质量和丢包
mtr结合了traceroute和ping的功能,能显示每一跳路由的丢包率,命令很简单:mtr -rw 目标IP
输出结果中,“Loss%”列如果某一路由节点持续高于5%,就要警惕;“Avg”是平均延迟,需要特别说明的是,中间节点丢包率高但最后一跳正常,通常是路由器在处理ICMP报文时做了限速,不代表业务数据丢包,判断标准要看最后一跳的丢包率,如果最后一跳有丢包,才是真正影响用户体验的问题。
用curl测HTTP下载速度
服务器如果承载网站或文件下载业务,直接测试HTTP请求最直观,命令:curl -o /dev/null -s -w 'speed_download: %{speed_download} dnslookup: %{time_namelookup} connect: %{time_connect} total: %{time_total}\n' https://你的域名/test.zip
这条命令会输出下载字节速度、DNS解析耗时、TCP握手耗时和总耗时,用不同大小的文件交叉测试,比如10KB小文件看响应速度,100MB大文件看吞吐能力,能同时覆盖两类业务场景。
用speedtest-cli测公网出口
speedtest-cli是命令行版的Speedtest,安装后可执行:speedtest-cli --server 测速节点ID
注意,这个工具默认选“离你最近”的节点,对服务器来说参考价值有限,建议手动指定华北、华东、华南等不同地域的节点ID,分别测一遍,才能看出跨地域的线路质量,如果你用的是酷番云这类持牌服务商,他们提供的自有测速节点通常比公共节点更贴近真实业务路径,因为公共节点可能和你的机房不在同一运营商网络。
网友评论