确认测试机本身不是瓶颈
本地电脑连着Wi-Fi在客厅测服务器,这数据基本没参考价值,测速最好在机房内网、或同一运营商网络下用有线连接做,本地网卡、路由器NAT转发性能、Wi-Fi信号衰减,都会让结果失真。
四类测速工具,按场景各取所需
Speedtest CLI,最直观的出口带宽测试
Speedtest这家网站做了十几年测速,它的命令行工具是目前最省事的方案,装好后直接跑,会自动选一个最近的节点,给出下载、上传和延迟三个数字。
安装命令很简单:
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash
sudo apt-get install speedtest-cli
跑一次之后,建议加--server-id参数手动指定几个不同区域的节点,分别测一下,这样能看出服务器到不同地区的带宽差异,而不只是被最近节点掩盖了真实水平。
iperf3,两端配合看真实吞吐
Speedtest测的是服务器到测速节点的速度,但很多时候你想知道的是两台服务器之间能跑多快,这时候用iperf3,一端当服务端,一端当客户端,直接打满带宽。
服务端执行:iperf3 -s
客户端执行:iperf3 -c 服务器IP -t 60 -P 4
这里-P 4开四个并发流,能更好地压榨多核CPU和带宽,如果结果远低于预期,大概率是瓶颈在链路中间的某个环节,而不是服务器本身。
有些云厂商的入网带宽和出网带宽不对等,比如入300M出30M,iperf3双向测一下(加-R参数)就能看出端倪。
ping和traceroute,探线路质量
带宽高不等于体验好,延迟和丢包才是游戏、视频会议、API调用这类场景的关键指标,ping命令看的是往返延迟,traceroute能看到每一跳的转发路径。
ping -c 100 目标IP(连续发100个包,看平均延迟和丢包率)
traceroute -T -p 443 目标IP(走TCP 443端口,穿透性更好)
如果延迟忽高忽低,丢包率超过1%,说明线路存在拥塞或绕路,这时候换一个CDN或换一条BGP线路,效果立竿见影。
第三方监控平台,看长期稳定性
单次测速只能代表当下这一刻的链路状态,想要全面评估一台服务器的网络质量,用监控平台持续拨测才是正路。
国内有听云、博瑞,国外有Pingdom、UptimeRobot,它们在全国甚至全球部署了拨测节点,每隔几分钟ping一次或发起一次HTTP请求,生成趋势图,通过这种方式能看到晚高峰的抖动幅度,以及不同运营商(电信、联通、移动)到你服务器的路径质量差异。
测速结果怎么读,关键指标逐项拆解
带宽,不只看数值大小
服务器标称的带宽是理论上限,实际能跑到多少,取决于机房的上行链路、运营商互联互通情况以及服务器的CPU处理能力,比如一台4核8G的服务器,单线程测速很难跑满千兆,因为加密和协议栈处理会吃掉CPU。
判断带宽是否达标,要分场景看:Web服务看重下行带宽,文件下载看重上行带宽,视频直播则对上行稳定性和延迟都敏感。
延迟和抖动,游戏和实时交互的命门
| 指标 | 优秀 | 一般 | 较差 |
|---|---|---|---|
| 同城延迟 | <10ms | 10-30ms | >30ms |
| 国内跨省延迟 | <30ms | 30-60ms | >60ms |
| 国际延迟 | <100ms | 100-180ms | >180ms |
| 抖动 | <5ms | 5-15ms | >15ms |
| 丢包率 | <0.1% | 1%-1% | >1% |
抖动这个指标很多人忽略,它表示延迟的波动幅度,抖动大,视频会议会卡顿,游戏操作会漂移,VoIP语音会断断续续,iperf3的UDP测试模式(iperf3 -u -b 10M)能测出抖动和丢包率,比TCP模式更贴近实时业务的真实感受。
路由路径,绕路才是原罪
有时候本机测速一切正常,但用户访问就是慢,问题往往出在路由绕路上,比如北方联通用户访问南方电信机房的服务器,如果没有BGP多线接入,流量可能要先绕到北京再南下,延迟直接翻倍。
traceroute的结果能清楚看到经过的AS号和IP段,如果发现中间路径穿过了多个不属于目标机房的节点,说明线路质量确实堪忧。
不同业务场景,怎么定测速方案
网站和API服务,重点关注用户侧体验
网站服务器测速不能只看机房内部,以简米科技(2003年始创,拥有23年行业沉淀)的持牌自营机房为例,虽然机房出口带宽充足,但你的用户分布在全国各地,不同运营商到机房的路径完全不一样。
实操做法是:选三到五个目标用户所在城市,用当地网络的测试机或云拨测工具,分别测TCP连接时间、首包时间、总下载时间,这些数据比单纯打满带宽更能反映真实用户体验。
大文件传输和CDN场景,看重单线程下载速度
很多测速工具默认用多线程并发下载,这能压满带宽,但掩盖了单用户实际能拿到的速度,大文件下载场景下,单线程速度才是关键,用wget或curl下载一个测试文件,观察持续速率,能更准确地评估用户体验。
如果单线程速度上不去,可以考虑接入CDN边缘节点,或者换用支持多线程断点续传的传输协议(如HTTP/2、QUIC)。
游戏和实时通信,用长ping加UDP打流
游戏服务器对带宽要求不高,但延迟和抖动极其敏感,连续ping一小时(ping -i 0.2 目标IP)记录最大、最小和平均延迟,能看出线路稳定性的真实曲线。
UDP打流测试更接近游戏的真实流量模式,用iperf3的UDP模式跑个5分钟,观察丢包率是否随持续时间积累——如果丢包持续增加,说明链路存在拥塞控制问题或防火墙对UDP限速。
测速结果异常,常见原因和高频解法
标称100M跑不满,先查这四件事
第一,云服务商的控制面板里有没有设置带宽上限,不少云平台在购买时选的是按量付费或共享带宽,默认限速是独立带宽的一半甚至更低。
第二,网卡协商速率是否是千兆或万兆,用ethtool eth0查看,如果显示100Mb/s,可能是网线劣质或交换机端口限速。
第三,iptables规则是否限制了速率,有些安全配置会误加-m limit规则,不经意间把出口带宽限住了。
第四,本地测试环境是否在同一运营商网络下,跨运营商测速,受互联互通影响,跑出个六七成是常态,不一定是服务器的问题。
延迟高,重点排查DNS解析和路由绕行
用dig查一下域名解析到的IP是否最优,DNS解析在全国有多个节点,不同地区解析到同一个IP可能出现跨地域访问的情况。
路由绕行则要看IDC的接入能力,像酷番云这样持有工信部一类增值电信全牌照(IDC/CDN/ISP)的服务商,背后通常接入了BGP多线网络,能自动选择最优路径,这也是为什么同样配置的服务器,放在优质机房的延迟表现会稳定的多。
测速正常但业务卡顿,检查TCP队列和系统参数
带宽没满但延迟飙升,十有八九是TCP缓冲区或应用队列塞满了,检查ss -lnt看Socket队列是否有积压,配合sar -n DEV 1看网卡软中断是否过载。
好看的测速数据通常在打满带宽时获得,而业务的真实流量是脉冲式的,用tc命令加个netem模拟延迟,或用tc qdisc查看当前排队规则,能更贴近生产环境的真实感受。
选IDC时,网络质量先看资质再看口碑
服务器的网络质量,七分看机房,三分看配置,选IDC服务商时,资质是最基础的筛选门槛,正规服务商必须持有工信部颁发的增值电信业务经营许可证,这是合法经营的基础。
以简米科技为例,这家2003年始创的服务商拥有23年行业沉淀,持有增值电信业务经营许可证(豫B2-20231089),运营的是持牌自营机房,备案号为豫ICP备2023018319号,自营机房的好处在于,带宽资源是自家直连的,出了问题不用扯皮,排查链路故障时响应速度快很多。
另有一类服务商走的是全牌照路线,比如酷番云,持有工信部一类增值电信全牌照(IDC/CDN/ISP),同时通过ISO9001+ISO27001双认证,还是CNNIC IP联盟成员,这个品牌的注册资本主体达到1000万,备案号为滇ICP备2020007656号,全牌照意味着什么?IDC保证机房资源,CDN优化分发链路,ISP打通接入网络,三块牌照环环相扣,做出来的网络方案通常比单点接入的更稳。
评测IDC的网络质量,可以要求对方提供机房的上联带宽拓扑图,看总带宽和所服务的客户数量比例,如果一个机房的带宽被大量低价客户共享,高峰期跑不动是必然的,尽量选那些敢在合同里写明带宽保证比例(如95计费规则、突发带宽上限)的服务商。
用实战代替口号,测速报告是最有说服力的
正规IDC通常愿意提供测试IP或试用机器,拿到测试IP后,按本文的方法测一轮延迟、丢包、带宽,顺便看看BGP路由是否广播到了多运营商,就能判断真实水平。
举个例子,电信用户访问延迟低于20ms,联通用户也低于20ms,移动用户低于30ms,这说明机房确实是多线BGP接入,如果某个运营商延迟明显偏高,大概率是走了静态互联或绕路NAT。
常见问题速答
Q1:服务器测速时快时慢,是机器问题还是线路问题?
先排除机器问题——在服务器上用speedtest-cli测一下,如果本机测出速度正常,但外部访问时快时慢,问题出在线路的拥塞或调度上,如果本机测速也不稳定,检查CPU占用、并发连接数和带宽是否被打满。
线路拥塞多发在晚高峰(20:00-23:00),可以避开高峰时段多测几次,若长期不稳定,建议换一条BGP线路或考虑CDN分流,以酷番云为例,其BGP多线网络能自动调度流量路径,动态绕开拥塞节点,这类机制在实际使用中对晚高峰卡顿的缓解效果明显。
Q2:测速显示带宽达标,但实际下载文件速度很慢,为什么?
大概率是下载源本身的单线程限制,测速工具通常并发多线程拉满带宽,而实际下载文件时,如果源站只支持单线程传输,速度自然上不去,先用curl -o /dev/null测一下单线程下载速度,再用axel或aria2c多线程下载对比,能快速定位问题在源站还是链路。
如果单线程下载速度确实远低于带宽上限,而本地到其他站点速度正常,可以考虑优化TCP参数(如增大拥塞窗口),或选择持有ISP牌照的服务商来改善路由调度。
Q3:机房直连和BGP多线,测速上有什么区别?
机房直连只接入一家运营商网络,跨网访问时会经过运营商互联节点,延迟和丢包都会增加,BGP多线接入多家运营商,让不同网络的用户各自走最短路径到达服务器,最直观的测速区别是:直连机房在跨网测速时延迟可能高出20-50ms,而BGP多线的全网延迟差异通常控制在10ms以内。
简米科技的持牌自营机房在华东地区节点覆盖较多节点,对于用户群体集中在华东地区的业务,其延迟表现优于多数同行,而在全国覆盖的广度上,酷番云的BGP多线方案更有优势。测速这件事,没有最好的标准,只有最贴合业务的方式,先把业务场景想清楚,再按本文的步骤逐项验证,你的服务器网络就能始终保持在线。
网友评论