1. 前期准备与环境确认
- 目标:确认 VPS 基本环境与权限。
- 操作:SSH 登录(ssh root@IP),确认内核版本(uname -a)、虚拟化类型(virt-what 或 dmidecode)、网卡名(ip link)。
- 安装工具:apt/yum install -y iperf3 mtr traceroute curl wget sysstat fio ethtool iproute2 tcpdump jq
2. 基础网络探测(延迟/丢包/路由)
- ping:ping -c 20 目标IP,记录平均/最差延时与丢包率。
- mtr:mtr -rwzbc 100 目标IP,分析跳点延迟与丢包,定位哪一跳开始恶化。
- traceroute:traceroute -n 目标IP,确认路径是否穿越大陆/香港节点。若 CN2,应看到直连骨干跳点较少。
3. 带宽/吞吐量测试(iperf3)
- 部署:一端做 iperf3 -s(如在国内或目标测试机),VPS 作为客户端 iperf3 -c SERVER_IP -P 4 -t 60。
- 双向测试:客户端加 -R 参数测试服务器到 VPS 的方向(iperf3 -c SERVER_IP -R)。
- 参数建议:并发流 -P 4~16,时长 -t 60,记录平均带宽、抖动、重传数。若重传高,怀疑丢包或拥塞。
4. 磁盘与 IO 测试(fio)
- 顺序读写:fio --name=seq --filename=/root/testfile --rw=write --bs=1m --size=1G --iodepth=16 --direct=1。
- 随机读写:fio --name=rand --rw=randrw --rwmixread=70 --bs=4k --size=2G --iodepth=64 --direct=1。
- 结果关注 IOPS、延迟分位(99th)、带宽。若延迟高,检查云盘类型与挂载参数(noatime、nvme、virtio 等)。
5. CPU/内存/系统资源监控与网络栈排查
- 监控:运行 vmstat 1、mpstat -P ALL 1、sar -n DEV 1,观察 CPU 饱和、软中断。
- 网络统计:ip -s link show eth0 和 ethtool -S eth0 检查 dropped、rx_errors、tx_errors。查看 /proc/interrupts 看中断分布是否集中在一个核。
- 关闭网卡 offload(排除驱动/硬件 offload 问题):ethtool -K eth0 gro off gso off tso off。恢复后测试对比。
6. 常见问答:CN2 与普通线路有什么区别?
问:CN2 路由与普通公网线路的主要差异是什么?
答:CN2 是运营商(如中国电信)到国际骨干的优质通道,通常延迟低、跳数少且丢包率低。但实际效果受机房互联、对端承载与运营商互联策略影响,需用上文的 mtr/iperf3 验证。
7. 常见问答:遇到带宽低或丢包高的快速排查流程?
问:如果看到 iperf3 带宽远低于标称,先查哪些项?
答:先查本地/对端是否瓶颈(CPU、网卡占用、tcp 重传);用 ip -s link 和 ethtool 查错误/丢包;用 mtr 定位链路哪一跳开始丢包;若是 VPS 层面,尝试关闭 offload、调整 MTU(ping -M do -s),并与机房售后确认线路质量或 QoS 限制。
8. 常见问答:如何验证真实业务层性能?
问:除了合成测试,如何评估真实网站/应用在 CN2 VPS 的表现?
答:在 VPS 部署真实服务(如 Nginx + PHP/Node),用 wrk/ab/siege 做并发压测(wrk -t4 -c200 -d60 http://IP/),并同时采集 top、vmstat、iostat 与 tcpdump,观察在高并发下的延迟分布与资源瓶颈,从而调整 Nginx worker、keepalive、内核 sysctl(net.core.rmem_max 等)和应用连接池。
来源:越南cn2 vps性能测试方法与常见瓶颈排查步骤解析