为什么需要跑 Benchmark

购买服务器后运行性能测试可以:

  1. 验证配置:确保实际性能与宣传一致
  2. 发现超售:检测云服务商是否过度超售 CPU/磁盘
  3. 对比选型:在多个服务商之间做数据驱动的决策
  4. 性能基线:建立基准数据,后续监控异常变化

CPU 测试

sysbench

# 安装
apt install sysbench -y   # Debian/Ubuntu
yum install sysbench -y   # CentOS

# CPU 性能测试(单核)
sysbench cpu run

# CPU 性能测试(多核)
sysbench cpu --threads=$(nproc) run

预期结果:现代 CPU 单核 events/sec 通常在 500-2000 之间,取决于 CPU 代际和频率。

openssl 速度测试

# 测试 AES 加解密性能(影响 HTTPS/TLS 性能)
openssl speed aes-256-cbc

内存测试

sysbench 内存测试

# 内存读写性能
sysbench memory --memory-block-size=1M --memory-total-size=10G run

mbw(内存带宽测试)

# 安装
apt install mbw -y

# 测试内存带宽(以 MiB/s 为单位)
mbw 256

磁盘 IO 测试

fio(最全面的磁盘测试工具)

# 安装
apt install fio -y

# 顺序读写测试
fio --name=seqread --ioengine=libaio --direct=1 --bs=1m --size=2g --numjobs=1     --iodepth=64 --rw=read --group_reporting

fio --name=seqwrite --ioengine=libaio --direct=1 --bs=1m --size=2g --numjobs=1     --iodepth=64 --rw=write --group_reporting

# 随机 4K 读写(模拟数据库负载)
fio --name=randread --ioengine=libaio --direct=1 --bs=4k --size=2g --numjobs=4     --iodepth=64 --rw=randread --group_reporting

fio --name=randwrite --ioengine=libaio --direct=1 --bs=4k --size=2g --numjobs=4     --iodepth=64 --rw=randwrite --group_reporting

dd 快速测试

# 快速写入测试
dd if=/dev/zero of=./test bs=1M count=1024 conv=fdatasync

# 快速读取测试
dd if=./test of=/dev/null bs=1M count=1024

网络测试

iperf3 带宽测试

# 服务端
iperf3 -s

# 客户端
iperf3 -c <server_ip> -t 30 -P 4

curl 延迟测试

# 测试到目标服务器的延迟
curl -w "TCP handshake: %{time_connect}s
TTFB: %{time_starttransfer}s
Total: %{time_total}s
" -o /dev/null -s https://example.com

综合测试工具

yabs.sh(推荐)

# 最流行的 VPS 综合测试脚本
curl -sL yabs.sh | bash

测试项目:CPU(Geekbench 5/6)、磁盘(fio)、网络(speedtest)

bench.sh

# 轻量级综合测试
curl -sL bench.sh | bash

测试结果解读

测试项 一般 优秀
CPU events/sec (1核) <300 300-800 800-1500 >1500
磁盘 4K 随机读 (IOPS) <5000 5000-20000 20000-50000 >50000
磁盘 4K 随机写 (IOPS) <3000 3000-10000 10000-30000 >30000
网络下载 (Mbps) <100 100-500 500-1000 >1000

16IDC 建议

  1. 购买服务器后立即运行 yabs.sh,保存测试结果作为基线
  2. 如果测试结果明显低于服务商的宣传值,可以考虑要求退款或更换实例
  3. 每月运行一次简单测试,监控性能是否有明显下降
  4. 磁盘 IO 是 VPS 最容易出现性能问题的环节——如果 4K 随机读 IOPS < 5000,说明超售严重