本文详细介绍在 CentOS、Ubuntu、Debian 等 Linux 系统上测试服务器网络速度的多种方法,帮助您评估服务器的网络性能和带宽质量。

应用场景:

服务器网速测试在以下场景中非常重要:

  • 新服务器验收和性能评估
  • 网络故障排查和诊断
  • 带宽质量监控和优化
  • 选择最佳的 CDN 节点
  • 对比不同服务商的网络性能

无论您使用的是韩国独立服务器日本VPS还是其他地区的服务器,准确的网速测试都能帮助您了解服务器的真实网络性能。本文以下测试脚本均在本站的韩国服务器上运行测试,所有数据真实可靠。


测试前的准备工作:

在开始网速测试之前,请注意以下几点:

  1. 确认网络连接正常: 确保服务器可以访问互联网
  2. 了解带宽限制: 确认您购买的带宽规格,便于对比测试结果
  3. 选择合适的测试时间: 避开网络高峰期,获得更准确的测试结果
  4. 多次测试取平均值: 网络速度会波动,建议进行多次测试
  5. 注意流量消耗: 网速测试会消耗一定流量,如有流量限制请注意控制

重要提示: 测试结果会受到测试服务器位置、网络拥堵、路由跳数等多种因素影响,仅供参考。实际应用中的网络性能可能会有所差异。


方法一:使用 Bench.sh 脚本测试(强烈推荐)

Bench.sh 是一个功能全面的服务器性能测试脚本,不仅可以测试网速,还能检测系统配置、I/O 性能等多项指标。这是最推荐的测试方法,特别适合韩国独立服务器新加坡VPS等亚太地区服务器的综合性能评估。

执行测试命令:

wget -qO- 86.re/bench.sh | bash

或使用备用地址:

curl -Lso- 86.re/bench.sh | bash

测试过程说明:

执行命令后,脚本会自动完成以下测试:

  1. 获取系统基本信息(CPU、内存、系统版本等)
  2. 测试磁盘 I/O 性能
  3. 测试到全球多个节点的下载速度
  4. 显示综合性能评分

整个测试过程通常需要 1-3 分钟,请耐心等待。

实际测试输出示例:以下是在本站韩国服务器上的真实测试结果:

----------------------------------------------------------------------
CPU model : Intel(R) tooserver.net(R) CPU E3-1230 V2 @ 3.30GHz
Number of cores : 8
CPU frequency : 1600.000 MHz
Total amount of ram : 15164 MB
Total amount of swap : 7647 MB
System uptime : 0days, 1:1:24
Load average : 0.05, 0.04, 0.01
OS : CentOS 6.5
Arch : x86_64 (64 Bit)
Kernel : 2.6.32-431.el6.x86_64
----------------------------------------------------------------------
Node Name IPv4 address Download Speed
CacheFly 205.234.175.175 6.49MB/s
Linode, Tokyo, JP 106.187.96.148 2.15MB/s
Linode, Singapore, SG 139.162.23.4 1.68MB/s
Linode, London, UK 176.58.107.39 1.51MB/s
Linode, Frankfurt, DE 139.162.130.8 1.54MB/s
Linode, Fremont, CA 50.116.14.9 3.18MB/s
Softlayer, Dallas, TX 173.192.68.18 2.71MB/s
Softlayer, Seattle, WA 67.228.112.250 2.89MB/s
Softlayer, Frankfurt, DE 159.122.69.4 1.45MB/s
Softlayer, Singapore, SG 119.81.28.170 3.74MB/s
Softlayer, HongKong, CN 119.81.130.170 3.62MB/s
----------------------------------------------------------------------
I/O speed(1st run) : 182 MB/s
I/O speed(2nd run) : 184 MB/s
I/O speed(3rd run) : 181 MB/s
Average I/O speed : 182.333 MB/s

测试结果解读:

系统信息部分:

  • CPU model - 显示处理器型号和主频,本例为 Intel Xeon E3-1230 V2 @ 3.30GHz
  • Number of cores - CPU 核心数,8 核表示性能较强
  • Total amount of ram - 总内存容量,15GB 内存适合中大型应用
  • System uptime - 系统运行时间,显示服务器稳定性
  • Load average - 系统负载,三个数值分别代表 1 分钟、5 分钟、15 分钟平均负载

网速测试部分:

  • CacheFly - 美国 CDN 节点,6.49MB/s 表示到美国的速度良好
  • Linode, Tokyo, JP - 东京节点 2.15MB/s,韩国到日本的速度
  • Linode, Singapore, SG - 新加坡节点 1.68MB/s,亚洲区域互联速度
  • Softlayer, HongKong, CN - 香港节点 3.62MB/s,到中国的连接速度

从测试结果可以看出,韩国服务器到亚太地区(日本、新加坡、香港)的速度在 1.68-3.74 MB/s 之间,到欧美地区速度略慢但仍然可用。

I/O 性能部分:

  • 平均 I/O 速度为 182.333 MB/s,表示磁盘读写性能优秀
  • 三次测试结果稳定,说明磁盘性能稳定可靠
  • 这个速度通常代表使用了 SSD 或 RAID 阵列

脚本优势:

  • 一键运行,无需安装额外软件
  • 测试节点覆盖全球主要地区
  • 同时测试网速和 I/O 性能
  • 输出结果清晰易读
  • 适合快速评估服务器综合性能

方法二:使用 FreeVPS Bench.sh 脚本

这是另一个常用的性能测试脚本,提供更详细的系统信息和网速测试结果。特别适合需要详细测试报告的场景。

执行测试命令:

wget freevps.us/downloads/bench.sh -O - -o /dev/null|bash

或使用完整下载方式:

wget freevps.us/downloads/bench.sh chmod +x bench.sh ./bench.sh

实际测试输出示例:

[root@localhost ~]# wget freevps.us/downloads/bench.sh -O - -o /dev/null|bash
Benchmark started on Sun Oct 9 15:21:07 HKT 2016
Full benchmark log: /root/bench.log
System Info
-----------
Processor : Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz
CPU Cores : 8Frequency : 1600.000 MHz
Memory : 15164 MBSwap : 7647 MB
Uptime : 1:20,
OS : CentOS release 6.5 (Final)
Arch : x86_64 (64 Bit)
Kernel : 2.6.32-431.el6.x86_64
Hostname : tooserver.net.localdomain
Speedtest (IPv4 only)
---------------------
Your public IPv4 is 103.65.181.124
Location Provider Speed
CDN Cachefly 4.42MB/s
Atlanta, GA, US Coloat 748KB/s
Dallas, TX, US Softlayer 4.15MB/s
Seattle, WA, US Softlayer 2.60MB/s
San Jose, CA, US Softlayer 3.82MB/s
Washington, DC, US Softlayer 2.82MB/s
Tokyo, Japan Linode 1.90MB/s
Singapore Softlayer 2.68MB/s
Rotterdam, Netherlands id3.net 614KB/s
Haarlem, Netherlands Leaseweb 1.22MB/s
Disk Speed----------I/O (1st run) : 182 MB/s
I/O (2nd run) : 178 MB/sI/O (3rd run) : 180 MB/s
Average I/O : 180 MB/s
[root@localhost ~]#

测试结果解读:

网速测试特点:

  • 显示公网 IP 地址,便于确认服务器位置
  • 测试节点包括美国多个城市、亚洲、欧洲
  • 每个节点显示具体的服务商名称
  • 速度单位为 MB/s 或 KB/s,直观清晰

速度分析(韩国服务器视角):

  • 到美国西海岸(Seattle, San Jose) - 2.60-3.82 MB/s,速度较好
  • 到美国中部(Dallas) - 4.15 MB/s,跨太平洋连接良好
  • 到美国东海岸(Washington, Atlanta) - 748KB-2.82MB/s,距离较远速度相对慢
  • 到东京 - 1.90 MB/s,韩国到日本地理位置近但速度一般,可能受路由影响
  • 到新加坡 - 2.68 MB/s,亚太区域互联良好
  • 到欧洲(荷兰) - 614KB-1.22MB/s,跨洲连接速度较慢

与方法一的对比:

  • 测试节点略有不同,覆盖范围相似
  • 显示公网 IP 地址,便于确认测试来源
  • I/O 测试结果基本一致(180 MB/s vs 182 MB/s)
  • 输出格式更简洁,适合快速查看

脚本特点:

  • 生成完整的测试日志文件(/root/bench.log)
  • 仅测试 IPv4 网络
  • 适合需要保存测试记录的场景
  • 测试速度较快,1-2 分钟完成

方法三:使用 Speedtest-cli 工具

Speedtest-cli 是 Speedtest.net 官方提供的命令行工具,通过连接到最近的 Speedtest 服务器进行测试,结果更接近真实的互联网速度体验。这个工具特别适合测试日本独立服务器台湾VPS等需要精确带宽测试的场景。

安装步骤:

方法 A:直接下载 Python 脚本(推荐)

wget --no-check-certificate https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py

或使用国内镜像:

wget https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py

添加执行权限:

chmod +x speedtest_cli.py

chmod +x speedtest.py

执行测试:

./speedtest_cli.py

./speedtest.py

方法 B:使用 pip 安装(推荐用于长期使用)

先安装 pip(如果未安装):

yum install python-pip -y

或在 Ubuntu/Debian 上:

apt install python3-pip -y

安装 speedtest-cli:

pip install speedtest-cli

或使用 pip3:

pip3 install speedtest-cli

安装后可以直接使用:

speedtest-cli

或简写:

speedtest

实际测试输出示例:

以下是在本站韩国服务器上的真实测试结果:

Retrieving speedtest.net configuration...
Retrieving tooserver.net server list...
Testing from KT (103.65.181.124)...
Selecting best server based on latency...
Hosted by China Broadband Communications (Hong Kong) [11.64 km]: 95.107 ms
Testing download speed........................................
Download: 6.29 Mbit/s
Testing upload speed..................................................
Upload: 14.04 Mbit/s

测试结果解读:

测试过程说明:

 

  • Retrieving configuration - 获取 Speedtest.net 配置信息
  • Retrieving server list - 获取可用测试服务器列表
  • Testing from KT - 显示您的 ISP(网络服务提供商)和公网 IP
  • Selecting best server - 自动选择延迟最低的测试服务器

测试服务器信息:

  • Hosted by China Broadband Communications - 选择的测试服务器提供商
  • Hong Kong - 服务器位置为香港
  • 11.64 km - 物理距离约 11.64 公里(这里显示的是逻辑距离)
  • 95.107 ms - 网络延迟(ping 值)

速度测试结果:

  • Download: 6.29 Mbit/s - 下载速度约 6.29 Mbps(约 0.79 MB/s)
  • Upload: 14.04 Mbit/s - 上传速度约 14.04 Mbps(约 1.76 MB/s)

重要提示: Speedtest-cli 的测试结果单位是 Mbit/s(兆比特每秒),需要除以 8 才能转换为常用的 MB/s(兆字节每秒)。

速度单位换算:

结果分析: 从韩国服务器测试到香港节点,下载速度 6.29 Mbps,上传速度 14.04 Mbps。上传速度高于下载速度,这在某些 IDC 环境中是正常现象。延迟 95 毫秒对于跨国连接来说属于中等水平。


常用 Speedtest-cli 参数和功能:

查看附近的测试服务器列表:

speedtest-cli --list

这会列出所有可用的测试服务器,包括 ID、服务商、位置等信息。

输出示例:

  1. KT (Seoul, Korea, Republic of) [0.00 km]
  2. LG DACOM Corporation (Seoul, Korea, Republic of) [0.00 km]
  3. Korea Telecom (Seoul, Korea, Republic of) [0.00 km]
  4. SK Broadband (Seoul, Korea, Republic of) [0.00 km]
  5. SoftLayer (Hong Kong, China) [1285.39 km]

指定测试服务器:

根据上面列出的服务器 ID 进行测试:

speedtest-cli --server 3633

这样可以测试到特定服务器的速度,便于对比不同线路。

以字节形式显示速度(MB/s):

speedtest-cli --bytes

输出示例:

Download: 0.79 MB/s Upload: 1.76 MB/s

以更易读的格式显示:

speedtest-cli --simple

输出示例:

Ping: 95.107 ms Download: 6.29 Mbit/s Upload: 14.04 Mbit/s

生成分享链接:

speedtest-cli --share

这会生成一个图形化的测试结果页面链接,可以分享给他人查看。

仅测试下载速度:

speedtest-cli --no-upload

仅测试上传速度:

speedtest-cli --no-download

输出 JSON 格式结果(便于脚本处理):

speedtest-cli --json

输出 CSV 格式:

speedtest-cli --csv

显示版本信息:

speedtest-cli --version


三种方法的对比分析:

方法一(Bench.sh):

优点:

  • 测试最全面,包含系统信息、I/O、网速
  • 测试节点覆盖全球主要地区
  • 一键运行,无需安装
  • 适合综合性能评估

缺点:

  • 测试时间较长(2-3 分钟)
  • 固定测试节点,不能自定义
  • 主要测试下载速度,不测试上传

适用场景:

  • 新服务器验收
  • 综合性能评估
  • 快速了解服务器概况

方法二(FreeVPS Bench.sh):

优点:

  • 测试节点多样化
  • 生成详细日志文件
  • 显示公网 IP 信息
  • 测试速度快(1-2 分钟)

缺点:

  • 系统信息相对简单
  • 测试节点与方法一类似
  • 不能自定义测试参数

适用场景:

  • 需要保存测试记录
  • 快速网速评估
  • 对比不同服务器性能

方法三(Speedtest-cli):

优点:

  • 自动选择最佳服务器
  • 测试上传和下载速度
  • 可指定测试服务器
  • 支持多种输出格式
  • 可生成分享链接
  • 结果最接近真实体验

缺点:

  • 需要安装工具
  • 测试节点数量少
  • 不测试系统信息和 I/O

适用场景:

  • 精确带宽测试
  • 定期监控网速
  • 对比不同时段速度
  • 测试特定线路质量

综合测试建议:

对于新购买的服务器验收:

建议依次执行以下测试:

  1. 使用方法一(Bench.sh) - 获得综合性能评估
  2. 使用方法三(Speedtest-cli) - 测试实际带宽和延迟
  3. 记录并对比官方承诺的配置和带宽

对于日常监控:

可以创建定时任务,定期执行 Speedtest-cli 并记录结果:

创建测试脚本:

vim /usr/local/bin/speed_monitor.sh

输入以下内容:

#!/bin/bash DATE=$(date '+%Y-%m-%d %H:%M:%S') RESULT=$(speedtest-cli --simple) echo "$DATE - $RESULT" >> /var/log/speedtest.log

保存并添加执行权限:

chmod +x /usr/local/bin/speed_monitor.sh

添加定时任务(每小时执行一次):

crontab -e

添加以下行:

0 * * * * /usr/local/bin/speed_monitor.sh

查看监控日志:

tail -f /var/log/speedtest.log

对于故障排查:

当网络出现问题时,建议:

  1. 先使用 ping 和 traceroute 测试连通性
  2. 使用 Speedtest-cli 测试到不同节点的速度
  3. 使用 Bench.sh 脚本进行全面测试
  4. 对比历史数据,判断问题原因

影响测试结果的因素:

网络因素:

  • 路由跳数 - 经过的路由节点越多,速度可能越慢
  • 国际出口 - 跨国连接受国际出口带宽限制
  • 网络拥堵 - 高峰时段网速会下降
  • 运营商互联 - 不同运营商之间的互联质量差异
  • 物理距离 - 距离越远延迟越高

服务器因素:

  • 带宽限制 - 实际分配的带宽可能小于标称值
  • 共享带宽 - 与其他用户共享带宽时性能会下降
  • 系统负载 - CPU 和内存使用率高会影响网络性能
  • 防火墙规则 - 复杂的防火墙规则可能降低速度

测试因素:

  • 测试服务器位置 - 不同测试节点结果差异大
  • 测试时间 - 不同时段网络状况不同
  • 并发连接数 - 单线程和多线程测试结果不同
  • 测试数据量 - 测试时间越长结果越准确

常见问题排查:

问题 1:测试速度远低于标称带宽

  • 原因: 可能是共享带宽、网络拥堵或测试节点距离远
  • 解决: 更换测试时间,测试到不同节点,联系服务商确认带宽分配

问题 2:上传速度高于下载速度

  • 原因: 某些 IDC 环境的出口带宽配置导致
  • 解决: 这在某些场景下是正常的,不一定是问题

问题 3:测试时提示连接超时

  • 原因: 防火墙阻止、测试服务器不可达或网络故障
  • 解决: 检查防火墙规则,尝试其他测试节点

问题 4:不同方法测试结果差异大

  • 原因: 测试节点、测试算法、测试时间不同
  • 解决: 这是正常现象,建议多次测试取平均值

问题 5:Speedtest-cli 无法找到服务器

  • 原因: 网络配置问题或 Speedtest.net 服务不可达
  • 解决: 检查 DNS 配置,尝试手动指定测试服务器

问题 6:测试脚本下载失败

  • 原因: GitHub 或脚本源站点被墙或网络不稳定
  • 解决: 使用备用下载地址,或通过代理下载

安全和最佳实践:

测试注意事项:

  1. 避免频繁测试: 频繁的大流量测试可能被 ISP 限速或标记
  2. 注意流量消耗: 每次完整测试约消耗 50-200 MB 流量
  3. 选择合适时段: 避开业务高峰期进行测试
  4. 保存测试结果: 建立测试记录,便于对比和分析
  5. 多地测试: 从不同地理位置测试,全面了解网络质量

针对不同地区的建议:

如果您使用的是马来西亚独立服务器或其他东南亚服务器,建议重点测试到以下节点的速度:

  • 新加坡节点(地理位置最近)
  • 香港节点(中国大陆访问的重要中转)
  • 东京节点(日本用户访问)
  • 洛杉矶节点(美国西海岸用户)

通过以上三种方法的综合使用,您可以全面了解服务器的网络性能。建议根据实际需求选择合适的测试方法,并定期进行监控,确保服务器网络质量稳定可靠。请记住,测试结果仅供参考,实际应用中的网络性能还会受到业务特点、用户分布等多种因素影响。