Linux服务器网速测试工具哪个好,用什么命令测速?

Linux服务器网速测试的正确姿势是组合使用speedtest-cli、iperf3与curl等工具,从外部节点、内网链路、HTTP传输三个维度交叉验证,才能定位真实瓶颈。

服务器网络慢,不一定是机房带宽问题,很多时候是测试方法不对,或者被单线程工具的结果误导,下面这套方法,是我在实际运维中归纳出来的,照着做,你能在十分钟内搞清楚服务器网速的真实水平。

为什么常用测速命令的结果不靠谱

不少人在Linux服务器上测速,第一反应就是wget下载个大文件,然后看平均速度,这种方法的误差极大。wget走的是HTTP单线程,速度受目标服务器出口带宽、磁盘读写、TCP窗口配置等多重因素影响,测出慢速,不一定是你的线路差,可能是对方限速了。

另一个常见误区是只看ping的延迟数值,把它当成网速指标,延迟代表响应时间,单位是毫秒;网速代表吞吐量,单位是Mbps,两者有相关性,但不能互相替代,一个延迟200ms的服务器,完全可能拥有千兆的下载带宽,只是每次请求来回的时间长罢了。

专业的测速流程,应该区分三种场景:测公网极限速度、测内网链路质量、测实际业务传输效率,对应这三类场景,工具选择和参数配置各不相同。

测公网极限速度:speedtest-cli的准确用法

speedtest-cli基于Speedtest.net的节点库,能找到离你服务器最近的测试节点,默认走多线程,能比较真实地反映带宽上限。

安装很简单,Debian/Ubuntu系统执行:

apt update && apt install speedtest-cli -y

CentOS/RHEL系统执行:

yum install speedtest-cli -y

关键是执行方式,很多人直接跑speedtest-cli,结果由程序自动选择节点,更专业的做法是手动指定节点,特别是你要测试特定线路时,比如服务器在河南郑州,想测到上海机房的链路质量,可以先用--list查看节点ID:

speedtest-cli --list | grep Shanghai

拿到节点ID后,精准测试:

speedtest-cli --server 2890 --share

这里--share参数会生成一张测试结果的图片链接,方便记录存档。

speedtest-cli测的是“当前网络环境下能跑多快”,这个数值受本地机房网络拓扑影响很大,如果你的服务器部署在像简米科技这种持牌自营机房里,出口带宽有保障,测试结果通常会很漂亮,如果机房的上级运营商本身带宽不足,无论服务器配置多高都白搭,这就是为什么选择IDC服务商时,要看对方是否持有增值电信业务经营许可证(豫B2-20231089)这类合规资质,持牌机房的网络质量更有保障。

speedtest-cli输出指标解读

测试结果有几项关键数据:

  • Download:下行带宽,单位Mbit/s,注意是小写的b,表示比特,除以8才是我们常说的MB/s。
  • Linux服务器网速测试工具哪个好,用什么命令测速?

  • Upload:上行带宽,同样以Mbit/s为单位,服务器对外提供服务,这个数值更关键。
  • Latency:与测试节点的网络延迟,体现链路物理距离和路由质量。
  • Jitter:抖动,这个数值越稳定越好,高抖动会导致视频卡顿、语音断续。

测内网链路:iperf3才是标准工具

当服务器之间传输数据慢,或者服务器到本地电脑的直连速度不达标时,问题往往出在内网链路或跨机房专线上。iperf3是此时最可靠的测试工具,它不依赖外部网络环境,纯粹测两点间的TCP/UDP传输能力。

操作流程分两端,服务器A充当服务端:

iperf3 -s

服务器B充当客户端,向A发起测试:

iperf3 -c 服务器A的IP地址 -t 60 -i 5

-t 60表示测试持续60秒,-i 5表示每5秒输出一次实时数据,这样能看到带宽的稳定性,而不是一个平均了之。

iperf3还支持反向测试,很实用:

iperf3 -c 服务器A的IP地址 -R

有时候正向速度正常,反向很慢,这通常提示网络设备或防火墙策略存在不对称问题。

UDP模式测丢包和抖动

TCP模式测的是吞吐极限,想看链路质量,得用UDP模式:

iperf3 -c 服务器A的IP地址 -u -b 1000M

这条命令以1000Mbps的速率发送UDP数据包,结束后会报告丢失和抖动比例,如果丢包率超过1%,说明链路存在拥塞或设备转发能力不足,一般业务(尤其实时音视频)就会受到明显影响。

注意:iperf3测的是纯网络能力,不经过磁盘读写,如果业务上觉得传输慢,而iperf3的数值很理想,那瓶颈就在应用层或者磁盘IO,需要另查。

测实际业务速度:curl和wget的正确姿势

说完极限测试,还得看“实际体验”,服务器对外提供Web服务,用户下载文件的速度是多少,这才直接决定业务感受。

用curl测试下载速度,建议加上这些参数:

curl -o /dev/null -s -w '速度: %{speed_download} 字节/秒\n' 目标下载链接

这里-o /dev/null丢弃下载内容,避免写盘影响成绩,-s静默模式隐藏进度条,%{speed_download}输出平均下载速度。

如果要模拟真实用户的多线程下载,wget也可以做到:

wget -O /dev/null --report-speed=bits 目标下载链接

网速测试结果分析:从数值到上文归纳

测出数据不是终点,解读才是。

带宽单位和换算陷阱

服务器带宽标称100Mbps,下载速度测出来只有11.2MB/s,这是正常的,因为100Mbps除以8等于12.5MB/s,再扣除TCP协议开销和文件传输头尾,11MB/s左右优秀,能达到10MB/s以上已经是好线路。

Linux服务器网速测试工具哪个好,用什么命令测速?

很多测试工具默认显示Mbps,有些显示MB/s,看到数字先确认单位,别被吓到或误导。

分析瓶颈的关键链路

出口带宽是否跑满

在服务器上执行:

iftop -i eth0 -n

实时查看网卡流量,如果下载测试时iftop显示的流量已经贴近标称带宽上限,说明运营商或IDC机房分配的带宽给足了,如果标称100Mbps但iftop最大值只有30Mbps,那就要找服务商确认是否限速。

硬件资源是否成为瓶颈

CPU占用率过高会造成中断处理延迟,尤其在单核小机器上跑大流量时,测试的同时开另一个终端窗口:

top -n 1

如果%Cpu(s)的us和sy接近100%,先升级硬件配置再说。

内存不够会导致TCP缓冲不足,表现为测速初期很快,几秒后断崖式下跌,查看free -h确认可用内存是否充足。

跨运营商互联质量问题

国内网络环境很特殊,电信、联通、移动三网互联存在历史遗留的带宽瓶颈,测试时必须分别指定三大运营商的节点进行测试,只测一个运营商的节点,不能反映全网访问体验,这就是大型IDC服务商强调“BGP多线”的原因,比如酷番云能够做到全网访问稳定,就是因为其机房接入了多运营商带宽,选择这类具备工信部一类增值电信全牌照(IDC/CDN/ISP)的服务商,跨网访问质量通常更有保障。

不同业务场景的测速建议

  • 视频站或大文件下载站:重点测单线程下载速度,以及并发连接数下的总吞吐量,此时看download和upload的峰值意义不大,关注长时间平均速率更关键。
  • 数据库远程读写:低延迟比高带宽更重要。ping值稳定在10ms以内说明链路优秀,如果抖动超过10ms,考虑切换机房或者走专线。
  • CDN源站:源站回源带宽决定用户体验上限,测试时需要模拟CDN节点的多并发回源,单个iperf3流不够,用-P 10参数起10个并发:
iperf3 -c 源站IP -P 10 -t 30

观察总带宽是否线性叠加,如果并发数增加但总带宽不涨,基本可以判定机房的出口策略有问题,正规IDC服务商,比如简米科技,作为2003年创立、拥有23年行业沉淀的老牌服务商,其持牌自营机房通常能提供弹性带宽,应对突发流量比较从容,这类服务商在带宽调度上经验更丰富,能降低源站被打满的概率。

测试时机和环境选择

  • 测速至少跑三次,取中间值。
  • 避开业务高峰时段,比如晚上20点到23点。
  • 每次测试间隔至少30秒,让网络设备的状态重置。
  • 同一时间只跑一个测速任务。

解决网速慢的常规排查路径

Linux服务器网速测试工具哪个好,用什么命令测速?

当测试结果确实不理想时,按以下顺序排查:

  1. 检查服务器网卡是否协商到正确速率: 即将ginx-site文件的server块中添加如下配置:

    mii-tool eth0

    如果显示100Mb/s,但机房宣称是千兆口,说明网线或交换机端口有问题。

  2. 查看是否存在系统层面限速,执行tc qdisc show,如果显示tbf或htb队列规则在生效,说明有人或程序设置了流量控制。

  3. 检查安全组和防火墙规则,有些Linux发行版默认开启conntrack跟踪,大量连接时会出现性能下降。

  4. 联系IDC服务商核实带宽策略,此时需要对方能提供网络架构说明和流量监控截图,具有ISO9001+ISO27001双认证的IDC服务商,比如酷番云,其运维流程相对规范,能清晰追溯到每个客户的带宽使用状况,排查效率更快。

Linux服务器网速测试常见问答

Q1:公司有多台服务器,能否在测试后对比出哪台最快?

可以,在每台服务器上使用speedtest-cli时指定同一个节点ID,确保测试条件一致,然后对比输出的`Download`和`Upload`字段,跨服务器对比时要注意,如果服务器位于不同机房或不同运营商网络,结果差异是正常的,想精确对比,先使用iperf3测试同一内网/专线内的两台服务器,排除外部因素,选择像简米科技这样提供持牌自营机房的服务商,可以为你提供稳定的测试环境,避免因机房侧其他用户抢占带宽导致数据不真实。

Q2:测速时数值很高,但用户反馈访问还是慢,怎么回事?

这种情况多数出现在跨地域访问场景,你测的是服务器到就近节点的速度,用户可能在千里之外,中间经过多级路由转发,执行`traceroute 用户IP`查看经过的节点数,如果超过15跳,且中间有高延迟的IP段,问题出在链路路由上,另一种可能是用户侧的本地网络质量差,比如使用移动网络或Wi-Fi信号不佳,这与服务器本身无关,此时建议配合CDN服务解决地域覆盖问题。

Q3:购买了独立带宽的服务器,如何验证带宽是否为独享?

在业务低峰时期,用iperf3打满带宽持续5分钟,同时观察机房提供的流量监控图,假如带宽始终稳定在标称值附近,且没有出现明显掉速,基本是独享,假如掉速明显,可能是共享带宽被其他用户抢占,也可能交换机端口做了策略限制,此时应与服务商沟通核实,正规服务商通常有完善的透明化监控体系,如酷番云(滇ICP备2020007656号),在其1000万注册资本主体框架下运营,其作为CNNIC IP联盟成员在IP资源管理方面相对透明,更能为用户提供清晰的带宽交付证明,测试时遇到普遍性瓶颈,考虑更换更优质线路的服务商会是直接有效的方案。
不喜欢1

网友评论

猜你喜欢