1.
确认是否为原生 IP 与测试准备
- 检查公网 IP 是否被 NAT:运行 curl https://ipinfo.io && ip addr show。若 curl 返回的 IP 与本机 ip addr 不一致,需联系商家确认原生 IP。
- 环境准备:apt/yum 安装工具:sudo apt update && sudo apt install -y fio iperf3 sysbench htop mtr traceroute ethtool
2.
检查虚拟化与 CPU 状态
- 确认虚拟化类型:systemd-detect-virt 或 sudo dmidecode -s system-product-name。
- 查看 CPU 与 steal:cat /proc/cpuinfo;运行 top 或 mpstat -P ALL 1 查看 steal 列,若 steal 高说明被宿主抢占,测试结果受影响。
3.
磁盘 IO 基准 — 使用 fio(步骤与命令)
- 测试策略:分别做随机/顺序、读/写、不同 blocksize、不同 io-depth。
- 示例命令(4k 随机读写,16 线程,运行60s):
fio --name=randrw --rw=randrw --rwmixread=70 --bs=4k --size=1G --numjobs=16 --iodepth=16 --runtime=60 --group_reporting
- 结果看点:IOPS(iops)、吞吐(BW)、平均延迟(lat)与 p99。重复 3 次取中位数。
4.
顺序吞吐测试(大块读写)
- 命令示例(128k 顺序写):fio --name=seqwrite --rw=write --bs=128k --size=2G --numjobs=1 --iodepth=8 --runtime=60 --group_reporting
- 解释:高吞吐但 IOPS 低,关注 BW 与写入延迟;若云盘为网络盘(如 Ceph/Netapp),波动可能大。
5.
CPU 基准 — sysbench 与多核测试
- 单核测试:sysbench cpu --cpu-max-prime=20000 run。记录 events/sec 与总耗时。
- 多核测试:sysbench --threads=8 cpu --cpu-max-prime=20000 run(根据 VPS 核数调整)。比较单核与多核扩展效率,注意查看负载平均值与 steal。
6.
长期稳定性与并发压力(stress-ng)
- 安装并运行短时压力:sudo apt install -y stress-ng;例如 stress-ng --cpu 4 --io 2 --vm 1 --timeout 120s。
- 观察系统响应:用 top/htop、iostat 监控在压力下的 IO 与 CPU 表现,判断是否有频繁抖动或 throttling。
7.
网络基准 — ping 与 MTR 路径诊断
- 延迟基线:ping -c 20 <目标 IP>(建议测试到 VN 本地网关、香港、新加坡与国内节点)。
- 路径与丢包:mtr -r -c 100 <目标 IP>,分析每跳丢包与延迟抖动,定位是否出在越南运营商或上游。
8.
带宽与吞吐 — iperf3 实战
- 若可控远端服务器,启动 iperf3 服务端:iperf3 -s;客户端测试:iperf3 -c server_ip -P 10 -t 30(并发流 10)。
- 解释参数:-P 为并发流数,-t 为时长。测试 TCP 与 UDP(--udp -b 设置带宽),观察丢包与重传率。
9.
跨区域下载速度与真实应用场景测试
- 使用 curl 或 wget 测试 CDN 下载:curl -o /dev/null -s -w "%{speed_download}\n" <文件 URL>,测实际文件下载速率。
- 如果做游戏或实时应用,重点测 RTT、抖动(jitter)与丢包,iperf3 的 UDP 模式能给出 jitter 值。
10.
测试注意事项与可重复性
- 每项测试至少跑 3 次并保留原始日志(fio/iperf3 都有输出文件选项),同时在不同时间段(高峰/非高峰)测试。
- 测试前关闭不必要服务,确保系统处于空闲;若 VPS 提供商限制带宽或 IOPS,应在报告中注明。
11.
结果解读要点
- IO:关注 4k 随机写读的 IOPS 与 p99 延迟;顺序吞吐看 128k/1M 的带宽。
- CPU:看单核性能与多核扩展比(理想近线性),若出现高 steal 或频繁频率下降说明宿主限速。
- 网络:低延迟且稳定无丢包为佳,若跨境链路延迟高则影响实时服务。
12.
记录与报告模板建议
- 应包含测试时间、命令、环境(CPU、磁盘类型、虚拟化)、原始输出与图表(IOPS/BW/Latency/RTT)。
- 给出结论与建议:如需更好延迟换到同城节点,或选用本地 NVMe 盘以提升 IO。
13.
问:如何确认我的 VPS 使用的是原生公网 IP 而非共享/NAT?
- 答:在 VPS 上运行 curl https://ipinfo.io 返回的公网 IP 应与 ip addr show 中的 inet 地址一致;此外 systemd-detect-virt 与 dmidecode 可辅助检测,若疑似 NAT,联系商家要求“原生 IP”或提供独立公网地址。
14.
问:没有远端 iperf3 服务器,如何测试真实网络带宽?
- 答:可使用公共 iperf3 公共服务器列表(注意稳定性与权限),或临时在另一台云主机开 iperf3 服务端;替代方案是下载大文件(如 Ubuntu 镜像)用 curl/wget 测速并结合 ping/mtr 做延迟分析。
15.
问:测试中出现高 steal 或波动,我该如何进一步确认原因?
- 答:观察 mpstat/top 的 steal 值,若持续偏高说明宿主资源争抢,建议:1) 更换物理机或宿主;2) 向商家确认是否为超售或 noisy neighbor;3) 在不同时间段做对比并提供日志给商家诊断。
来源:越南vps原生ip性能测试方法 包括IO、CPU与网络基准评估