1. 先记录机器配置,再决定测什么#
跑分适合比较同一工作负载在不同机器上的表现,不能单凭一个总分判断网站体验。先在控制面板核对 CPU 核数、内存、磁盘和流量,再记录系统、内核和虚拟化环境。共享 CPU 的结果会受宿主机负载影响,短时峰值不代表持续可用性能。

uname -r
lscpu
free -h
df -hT若机器已运行正式业务,优先做只读观察;完整 CPU、磁盘压力测试安排在维护窗口或测试实例上。提前查看资源限制说明,并给测试设定时间和数据量上限。
2. CPU:固定参数,短时间比较#
Ubuntu/Debian 可从系统源安装 sysbench。下面只使用一个线程、运行 10 秒,适合观察单线程表现;不要把生产机器全部核心长时间跑满。
sudo apt update
sudo apt install sysbench
sysbench cpu --threads=1 --time=10 run记录 events per second 和延迟,同时记下工具版本。比较两台机器时,线程数、运行时间、版本要一致。若要观察多线程,另开一次短测试并单独标注线程数,不能与单线程结果直接混在同一列。
3. 内存:看应用是否真的缺内存#
free -h 中的 available 比单看 free 更有用,因为文件缓存通常可以回收。Swap 少量使用不必立刻判为异常;持续换入换出、应用卡顿和 OOM 日志一起出现,才说明容量或配置需要处理。
vmstat 1 10
sudo journalctl -k --since '1 hour ago' --no-pager关注 si/so 是否持续有值、wa 是否升高以及日志中是否出现被 OOM killer 终止的进程。按内存与 Swap处理,先找出占用来源,不要只靠扩大 Swap 掩盖问题。
4. 磁盘:使用专用文件,别对块设备写入#
需要磁盘基准时可用发行版软件源中的 fio。准备一个有足够剩余空间的普通测试目录,明确文件名;绝不能把 filename 指向 /dev/vda 等真实磁盘设备。
mkdir -p "$HOME/vps-benchmark"
fio --name=short-write --filename="$HOME/vps-benchmark/fio-test.bin" --size=128M --rw=write --bs=1M --direct=1 --ioengine=sync --iodepth=1这会创建并写入 128 MiB 测试文件。输出中的带宽、IOPS 和延迟对应这组顺序写参数,不能当成数据库随机读写结果。测试后确认只删除自己创建的 fio-test.bin。不支持 direct I/O 的文件系统需要另选测试方式并注明缓存影响,不要悄悄换参数再比较。
5. 形成能复现的结论#
把系统版本、实例配置、时间、命令、结果放在同一份记录里。同一测试可间隔一段时间再做一次;差异较大时说明环境有波动,不应只保留最高分。网站慢还要结合数据库查询、PHP 工作进程、缓存命中率与用户网络。
网络吞吐单独按带宽测试记录,应用卡顿按进程监控定位。升级套餐前先确定瓶颈是 CPU、内存、磁盘还是线路,才能知道升级是否解决问题。
完成后检查
测试完确认临时文件已清理、应用仍正常。不要把短时峰值写成保证值。