海外服务器租用前需要测试什么?网络延迟、丢包、磁盘与CPU性能评估

租海外服务器,很多人的流程是:看配置、看价格、下单,服务器到手才发现网络不行、磁盘很慢、CPU 跑不满。退换货麻烦,钱也花了。其实在下单前和到手后的一小段时间里,有一套低成本、可执行的测试方法,能在几分钟到几十分钟内把服务器的真实水平摸个七八成。关键是要知道测什么、用什么工具、怎么解读结果。

这篇文章给出一份海外服务器租用前的测试清单,覆盖网络(延迟、丢包、路由)、磁盘(IOPS 与吞吐)、CPU(算力与稳定性)、网络吞吐(实际带宽),并强调晚高峰复测。文中的工具命令都是真实可执行的,数值阈值都是经验参考,实际以你的业务需求和多次实测为准;不点名推荐具体服务商或机房,测试结果只代表你拿到的这台机器。

合规提醒:测试应在你拥有合法使用权的服务器上进行,不要对无关主机做探测或压测;跨境业务部署须遵守中国与业务落地国家/地区的法律,面向中国大陆提供互联网信息服务的经营性业务通常须依法办理相关备案,具体以主管部门要求为准。地域表述规范:香港称"中国香港地区",台湾称"中国台湾地区"。

一、测试总览:先建立清单

类别 工具 关注指标 何时测
延迟/丢包 ping RTT 均值/P95、丢包率 白天 + 晚高峰
路由 mtr、traceroute 逐跳延迟、丢包、绕行 白天 + 晚高峰
去回程 mtr(双向) 去程与回程路径是否一致 白天 + 晚高峰
磁盘 fio、dd IOPS、读写吞吐、延迟 到手后
CPU sysbench 单核/多核算力、稳定性 到手后
内存 sysbench、stream 内存带宽 到手后
网络吞吐 iperf3 实际带宽 到手后 + 晚高峰
稳定性 长时间监控 长测中的劣化 持续

经验建议:先测网络(决定可用性),再测硬件(决定性能),最后晚高峰复测(决定真实体验)。三关都过,再放心用于生产。

二、网络测试:延迟与丢包

1. 从本地测去程

在本地(中国大陆)的电脑上执行:

# 发 50 个包,看延迟和丢包
ping -c 50 <服务器IP>

# Windows
ping -n 50 <服务器IP>

关注:

  • 平均延迟是否和距离相符(中国香港地区通常几十毫秒内,美国西海岸 100 多毫秒量级,欧洲 200 毫秒量级,均为经验值)。
  • 有无丢包。
  • 延迟波动(最大最小值差距)是否大。

2. 从服务器测回程

登录服务器,向国内某个已知目标(如你的本地公网 IP 或公开的国内节点)ping:

ping -c 50 <国内目标IP>

去程和回程要分别测,因为路由是双向独立的,只优化一个方向的线路很常见。

3. 更专业的延迟测试

# 用 mtr 看逐跳延迟和丢包
mtr -rwzbc 100 <服务器IP>

# 双向测试
mtr -rwzbc 100 <国内目标IP>   # 在服务器上执行

判读:某一跳丢包但后续不丢,通常是 ICMP 限速,不是真丢包;从某跳持续丢到终点才是真问题。

三、路由测试:去回程与绕行

1. 看路径

# Linux/macOS
traceroute <服务器IP>
# Windows
tracert <服务器IP>
# 更推荐 mtr,能持续统计
mtr -rwzbc 100 <服务器IP>

2. 判读要点

  • 跳数:跳数少、路径直通常更好;中途兜圈子说明绕行。
  • 跨境入口:看从哪个出口出去、进入目标区域前是否绕道第三地(如绕日、绕美)。
  • 延迟跳升点:延迟突然大增的那一跳,往往是跨洋入口或拥塞点。
  • 去回程对比:去程好回程差,或反之,都要警惕。

3. 三网覆盖

尽量分别用电信、联通、移动的网络测,或借助多地拨测平台、机房 Looking Glass、朋友帮测。原则:只要有一个运营商明显差,就要警惕。

四、磁盘性能:IOPS 与吞吐

磁盘是最容易"缩水"的地方,共享存储、劣质 SSD 都可能很慢。

1. 安装 fio(推荐)

# Debian/Ubuntu
sudo apt update && sudo apt install -y fio
# RHEL/CentOS/Rocky
sudo dnf install -y fio    # 或 yum

2. 测随机读 IOPS(数据库类场景关键)

# 4K 随机读,队列深度 32,跑 60 秒
fio --name=randread --ioengine=libaio --direct=1 --rw=randread \
    --bs=4k --size=1G --numjobs=4 --iodepth=32 --runtime=60 --time_based \
    --group_reporting

3. 测顺序写吞吐

fio --name=seqwrite --ioengine=libaio --direct=1 --rw=write \
    --bs=1M --size=2G --numjobs=1 --iodepth=8 --runtime=60 --time_based \
    --group_reporting

4. 用 dd 快速粗测

# 写测试(注意:会写入文件,路径要选对,别写系统盘关键位置)
dd if=/dev/zero of=./testfile bs=1M count=1024 conv=fdatasync status=progress
# 读测试(先清缓存,需 root)
sudo sh -c 'sync && echo 3 > /proc/sys/vm/drop_caches'
dd if=./testfile of=/dev/null bs=1M status=progress
rm -f ./testfile   # 测完删除

风险提示:dd 写入会占用磁盘空间和 IO 资源,请在非生产时段、选好路径(如 /tmp 或应用数据盘)执行,测完删除测试文件。别对系统盘的关键区域乱写。

5. 结果参考(经验值,SSD/NVMe)

场景 4K 随机读 IOPS(经验量级) 顺序吞吐(经验量级)
普通 SATA SSD 几万 几百 MB/s
NVMe SSD 十几万到几十万 1~3 GB/s 以上
网络/共享存储 明显偏低且波动大 视网络与后端

数值受队列深度、文件系统、共享情况影响很大,重点是看是否稳定、是否符合标称,而不是追求某个绝对数字。

五、CPU 性能:算力与稳定性

1. 安装 sysbench

# Debian/Ubuntu
sudo apt install -y sysbench
# RHEL/CentOS/Rocky
sudo dnf install -y sysbench    # 或 yum

2. 单核测试

# 单线程 CPU 测试,30 秒
sysbench cpu --cpu-max-prime=20000 --threads=1 run

看 events per second,越大越好。

3. 多核测试(对齐核数)

# 假设 8 核
sysbench cpu --cpu-max-prime=20000 --threads=8 run

对比单核结果:如果多核得分不是接近线性增长,可能存在调度、虚拟化超卖或资源限制问题。

4. 稳定性

反复跑几轮,看 events per second 是否稳定。忽高忽低说明资源被争抢(常见于超卖的虚拟化环境)。重点关注"晚高峰"时段,超卖环境的 CPU 在晚高峰可能明显变慢。

5. 内存测试(可选)

# 简易内存带宽测试
sysbench memory --memory-block-size=1M --memory-total-size=10G run

六、网络吞吐:iperf3 实测

延迟好不等于带宽够。用 iperf3 在两端之间测实际吞吐。

# 服务端(你的服务器)
iperf3 -s

# 客户端(另一台你控制的机器),测下载(服务端发、客户端收)
iperf3 -c <服务器IP> -t 30 -P 4

# 反向测试(客户端发、服务端收),测上传
iperf3 -c <服务器IP> -t 30 -P 4 -R

要点:

  • -P 4 开 4 条并发流,避免单流受限低估。
  • 去程(上传)和回程(下载)都测。
  • 对比标称带宽,看能跑到几成。
  • 风险提示:iperf3 会打满带宽,可能影响同机房其他用户或产生流量费用,请在允许的前提下短时测试。
# 安装
sudo apt install -y iperf3      # Debian/Ubuntu
sudo dnf install -y iperf3      # RHEL/CentOS/Rocky

七、晚高峰复测:决定真实体验

白天测的数据只能当基线。跨境链路在晚高峰(约 19:00~23:00)最拥塞。

  • 白天测一遍,记录延迟、丢包、吞吐。
  • 晚高峰再测一遍,对比劣化程度。
  • 云服务器还要关注"邻居"影响(超卖环境晚高峰可能整体变慢)。

只有晚高峰都扛得住,才敢用于生产业务。可以搭一个简单的持续监控:

# 每 60 秒记录一次 ping 结果(长期观察)
while true; do
  date >> /var/log/ping_monitor.log
  ping -c 10 <目标IP> >> /var/log/ping_monitor.log 2>&1
  sleep 60
done
# 生产环境建议用 smokeping、Prometheus + blackbox_exporter 等

八、可执行测试清单

下单前/到手后,按这个顺序走:

  1. 拿到测试 IP:在下单前向服务商索取测试 IP,先做网络初测。
  2. ping 延迟:本地 ping,白天先看量级和丢包。
  3. mtr 去程:看路径、逐跳丢包、是否绕行。
  4. mtr 回程:登录服务器测回程,去回程对比。
  5. 三网:尽量覆盖电信/联通/移动。
  6. iperf3 吞吐:验证实际带宽达不达标。
  7. fio 磁盘:测随机读 IOPS 和顺序吞吐,看是否稳定。
  8. sysbench CPU:单核、多核各测一轮,看稳定性。
  9. 晚高峰复测:19:00~23:00 把网络再测一遍。
  10. 长时间观察:上线后用监控持续记录,发现劣化。
  11. 合规确认:确认备案等合规要求已满足。

常见问题

Q1:测试最该看哪一项?
先看网络。网络不行,硬件再好业务也难用。网络里重点看晚高峰的延迟和丢包,以及去回程是否绕行。

Q2:ping 低就代表好吗?
不够。还要看丢包、抖动、回程路径、晚高峰表现和实际吞吐。低延迟 + 高丢包同样不能用。

Q3:磁盘测试数值多少算好?
没有绝对标准,看业务需求。数据库类关注 4K 随机读 IOPS,文件类关注顺序吞吐。重点是稳定、符合标称,而不是某个固定数字。

Q4:sysbench 多核得分不线性增长正常吗?
不一定异常,受内存带宽、虚拟化开销影响。但如果差异明显且波动大,要怀疑超卖或资源限制,建议晚高峰复测。

Q5:一定要晚高峰测吗?
要。跨境链路晚高峰最拥塞,白天好不代表晚高峰好。只有晚高峰都稳,才能放心上生产。

总结

  • 测试顺序:网络(延迟、丢包、路由)→ 硬件(磁盘、CPU)→ 网络吞吐 → 晚高峰复测。
  • 网络用 ping 看延迟丢包、mtr 看去回程路径和三网表现;去程回程必须分别测。
  • 磁盘用 fio 测 IOPS 与吞吐(dd 可快速粗测,注意风险);CPU 用 sysbench 测单核多核并看稳定性。
  • 带宽用 iperf3 实测,多流并发、双向都测,注意别影响他人和产生额外流量费。
  • 所有数值为经验参考,以多次实测和业务需求为准;测试仅限你有使用权的服务器,合规要求以法律和主管部门为准。