本文详细介绍在 CentOS、Ubuntu、Debian 等 Linux 系统上测试服务器网络速度的多种方法,帮助您评估服务器的网络性能和带宽质量。
应用场景:
服务器网速测试在以下场景中非常重要:
- 新服务器验收和性能评估
- 网络故障排查和诊断
- 带宽质量监控和优化
- 选择最佳的 CDN 节点
- 对比不同服务商的网络性能
无论您使用的是韩国独立服务器、日本VPS还是其他地区的服务器,准确的网速测试都能帮助您了解服务器的真实网络性能。本文以下测试脚本均在本站的韩国服务器上运行测试,所有数据真实可靠。
测试前的准备工作:
在开始网速测试之前,请注意以下几点:
- 确认网络连接正常: 确保服务器可以访问互联网
- 了解带宽限制: 确认您购买的带宽规格,便于对比测试结果
- 选择合适的测试时间: 避开网络高峰期,获得更准确的测试结果
- 多次测试取平均值: 网络速度会波动,建议进行多次测试
- 注意流量消耗: 网速测试会消耗一定流量,如有流量限制请注意控制
重要提示: 测试结果会受到测试服务器位置、网络拥堵、路由跳数等多种因素影响,仅供参考。实际应用中的网络性能可能会有所差异。
方法一:使用 Bench.sh 脚本测试(强烈推荐)
Bench.sh 是一个功能全面的服务器性能测试脚本,不仅可以测试网速,还能检测系统配置、I/O 性能等多项指标。这是最推荐的测试方法,特别适合韩国独立服务器、新加坡VPS等亚太地区服务器的综合性能评估。
执行测试命令:
wget -qO- 86.re/bench.sh | bash
或使用备用地址:
curl -Lso- 86.re/bench.sh | bash
测试过程说明:
执行命令后,脚本会自动完成以下测试:
- 获取系统基本信息(CPU、内存、系统版本等)
- 测试磁盘 I/O 性能
- 测试到全球多个节点的下载速度
- 显示综合性能评分
整个测试过程通常需要 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、服务商、位置等信息。
输出示例:
- KT (Seoul, Korea, Republic of) [0.00 km]
- LG DACOM Corporation (Seoul, Korea, Republic of) [0.00 km]
- Korea Telecom (Seoul, Korea, Republic of) [0.00 km]
- SK Broadband (Seoul, Korea, Republic of) [0.00 km]
- 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
适用场景:
- 精确带宽测试
- 定期监控网速
- 对比不同时段速度
- 测试特定线路质量
综合测试建议:
对于新购买的服务器验收:
建议依次执行以下测试:
- 使用方法一(Bench.sh) - 获得综合性能评估
- 使用方法三(Speedtest-cli) - 测试实际带宽和延迟
- 记录并对比官方承诺的配置和带宽
对于日常监控:
可以创建定时任务,定期执行 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
对于故障排查:
当网络出现问题时,建议:
- 先使用 ping 和 traceroute 测试连通性
- 使用 Speedtest-cli 测试到不同节点的速度
- 使用 Bench.sh 脚本进行全面测试
- 对比历史数据,判断问题原因
影响测试结果的因素:
网络因素:
- 路由跳数 - 经过的路由节点越多,速度可能越慢
- 国际出口 - 跨国连接受国际出口带宽限制
- 网络拥堵 - 高峰时段网速会下降
- 运营商互联 - 不同运营商之间的互联质量差异
- 物理距离 - 距离越远延迟越高
服务器因素:
- 带宽限制 - 实际分配的带宽可能小于标称值
- 共享带宽 - 与其他用户共享带宽时性能会下降
- 系统负载 - CPU 和内存使用率高会影响网络性能
- 防火墙规则 - 复杂的防火墙规则可能降低速度
测试因素:
- 测试服务器位置 - 不同测试节点结果差异大
- 测试时间 - 不同时段网络状况不同
- 并发连接数 - 单线程和多线程测试结果不同
- 测试数据量 - 测试时间越长结果越准确
常见问题排查:
问题 1:测试速度远低于标称带宽
- 原因: 可能是共享带宽、网络拥堵或测试节点距离远
- 解决: 更换测试时间,测试到不同节点,联系服务商确认带宽分配
问题 2:上传速度高于下载速度
- 原因: 某些 IDC 环境的出口带宽配置导致
- 解决: 这在某些场景下是正常的,不一定是问题
问题 3:测试时提示连接超时
- 原因: 防火墙阻止、测试服务器不可达或网络故障
- 解决: 检查防火墙规则,尝试其他测试节点
问题 4:不同方法测试结果差异大
- 原因: 测试节点、测试算法、测试时间不同
- 解决: 这是正常现象,建议多次测试取平均值
问题 5:Speedtest-cli 无法找到服务器
- 原因: 网络配置问题或 Speedtest.net 服务不可达
- 解决: 检查 DNS 配置,尝试手动指定测试服务器
问题 6:测试脚本下载失败
- 原因: GitHub 或脚本源站点被墙或网络不稳定
- 解决: 使用备用下载地址,或通过代理下载
安全和最佳实践:
测试注意事项:
- 避免频繁测试: 频繁的大流量测试可能被 ISP 限速或标记
- 注意流量消耗: 每次完整测试约消耗 50-200 MB 流量
- 选择合适时段: 避开业务高峰期进行测试
- 保存测试结果: 建立测试记录,便于对比和分析
- 多地测试: 从不同地理位置测试,全面了解网络质量
针对不同地区的建议:
如果您使用的是马来西亚独立服务器或其他东南亚服务器,建议重点测试到以下节点的速度:
- 新加坡节点(地理位置最近)
- 香港节点(中国大陆访问的重要中转)
- 东京节点(日本用户访问)
- 洛杉矶节点(美国西海岸用户)
通过以上三种方法的综合使用,您可以全面了解服务器的网络性能。建议根据实际需求选择合适的测试方法,并定期进行监控,确保服务器网络质量稳定可靠。请记住,测试结果仅供参考,实际应用中的网络性能还会受到业务特点、用户分布等多种因素影响。