很多人在选购 VPS 的时候,最纠结的就是“这台机器到底快不快”。商家宣传页上写着“高性能 CPU”“NVMe 高速磁盘”,可到手之后跑起网站来却卡得要命。性能这种东西,光看宣传没用,得用数据说话。这篇文章就按真实操作顺序,教你在自己的 VPS 上做一次完整的性能测评,从 CPU、内存、磁盘 IO 到网络速度,一次测明白。
一、测评前的准备
在开始测评之前,有几件事要先做好:
1. 确认系统环境。建议用全新的系统做测评,避免后台任务干扰结果。测评前先用 top 或 htop 看一眼负载,负载为 0 时测出来的数据才有参考价值。
2. 关闭不必要的进程。如果有面板、监控程序在跑,尽量先停掉,不然 CPU 占用会直接影响结果。
3. 多次取平均值。任何单项测试都存在波动,同一个项目建议跑 2-3 次取平均值,或者取多核跑分的稳定值。
4. 记录测试时间和环境。系统版本、内核版本、是否开启 BBR 加速等,都会影响网络测试结果,记录下来方便以后对比。
二、CPU 性能测评
CPU 是 VPS 性能的核心,测评工具主要分两类:一类是跑分基准,一类是真实负载模拟。
1. sysbench:最简单直接的 CPU 基准测试。安装后执行 sysbench cpu --threads=4 run,会计算素数来测试 CPU 的计算能力,输出每秒事件数和总耗时。这个工具对配置的要求低,几乎所有 Linux 发行版都能装,适合快速判断 CPU 是不是“虚标”。
2. Geekbench:跨平台跑分标杆,测试结果可以和全球其他机器直接对比。在 VPS 上运行 Geekbench 5 或 6,会得到单核和多核两个分数,还能显示在同类配置中的排名。Geekbench 的优点是结果直观,缺点是测试时间长、占资源多,适合在低负载时段跑。
3. UnixBench:老牌的综合基准测试,包含 Dhrystone、Whetstone、并发测试等 10 个子项目,最后给出一个综合分数。UnixBench 分数受系统环境和内核参数影响较大,但作为横向对比同类型机器还是有参考价值的。
测 CPU 时要注意一个坑:很多便宜的 VPS 是共享 CPU,标称的核数是“可以用的核数”而不是“独享的核数”。如果跑分明显偏低,可以用 lscpu 看一下 CPU 型号,再和商家宣传对比,就知道有没有被“超售”了。
三、内存与 Swap 测评
内存测试主要看带宽和延迟。sysbench 同样可以做内存测试:sysbench memory --memory-block-size=1K --memory-total-size=10G run,测的是内存的读写速度。另一个思路是直接用 memtester 或 stress-ng 压测内存稳定性,看长时间高负载下会不会报错,这比跑分更能反映内存条的质量。
Swap 方面,重点不是测速,而是看有没有。很多低价 VPS 默认不给 swap,一旦内存跑满,进程直接被 OOM 杀掉,网站瞬间挂掉。建议用 free -h 查看内存和 swap 情况,没有的话用 fallocate 或 dd 创建一个 swap 文件,设成开机自动挂载。
四、磁盘 IO 测评
磁盘性能直接决定网站加载速度和数据库查询速度,是测评里最不能省的一项。
1. dd 测速:最简单粗暴的方法。dd if=/dev/zero of=test bs=1M count=1024 conv=fdatasync 测写入,dd if=test of=/dev/null bs=1M count=1024 测读取。dd 测的是顺序读写,结果只作参考,因为现代磁盘都有缓存,dd 很容易测出“虚高”的成绩。
2. fio 测速:专业的磁盘测试工具,能模拟随机读写、混合读写、不同队列深度等各种真实负载。比如 fio --name=randwrite --rw=randwrite --bs=4k --size=1G --ioengine=libaio --iodepth=32 测的是 4K 随机写入。随机读写才是数据库、网站程序真正需要的性能,很多商家只宣传顺序读写,实际随机性能差得离谱。
3. 综合脚本:像 Bench.sh、LemonBench 这类一键脚本,会同时测 CPU、内存、磁盘和网络,输出一张完整的报告。适合做初步筛查,发现问题再用 fio 深挖。
重点提醒:测磁盘之前先确认磁盘类型。同是 50GB 空间,SSD 和 HDD 的性能差距是数量级的。用 lsblk -d -o name,rota 可以看磁盘类型,rota 为 0 是 SSD,为 1 是机械盘。
五、网络速度与延迟测评
网络是 VPS 测评里最主观、也最容易起争议的部分,因为结果高度依赖测试时段、带宽占用和本地网络环境。
1. 三网测速:下载 speedtest-cli 或者直接用各大测速站测下行和上行。国内用户建议分别测电信、联通、移动三条线路的节点,很多 VPS 对联通很友好、对电信却很慢,只说“速度 1000M”是没有意义的。
2. 延迟与丢包:用 ping 测延迟,重点关注丢包率。丢包率比延迟更能反映线路质量,偶尔高延迟可以忍受,持续丢包基本等于没法用。再用 mtr 或 traceroute 看路由走向,看看有没有绕道、有没有经过拥堵的骨干节点。
3. 国际带宽:搭建网站如果有海外访客,还要测一下国际出口速度。很多便宜的“CN2”或者“优化线路”宣传,实际高峰期会大打折扣,建议在不同时段多测几次。
六、综合测评脚本怎么选
如果不想一个个装工具,可以直接用一键脚本。目前用得比较多的有:
- Bench.sh:轻量,几十秒出结果,包含基础 CPU、内存、磁盘和全球测速。
- LemonBench:功能更全,支持流媒体解锁检测、三网回程路由测试,适合想看线路的。
- yabs:国外常用的脚本,对磁盘的测试比 Bench.sh 更详细。
脚本只是工具,建议先用综合脚本跑一遍看个大概,再用 sysbench 和 fio 对重点项目单独深挖。
七、结果怎么解读
测评不是为了跑一个好看的分数,而是为了判断机器值不值这个价。解读结果时记住几个原则:
1. 和同价位机器比,不和顶级独服比。一分钱一分货,关键是看自己的需求有没有被满足。
2. 关注随机性能而不是顺序性能。网站、数据库、邮件服务都是随机读写为主。
3. 网络看稳定不看峰值。测速时跑出 500M 不代表日常能稳定 500M,多时段多节点测试才有意义。
4. 动态监控比一次性测试更重要。测评只是一张“照片”,长期监控才是“录像”。可以用监控宝、云监控之类的服务,记录 CPU、内存、磁盘、网络的历史曲线,过载或故障时能第一时间发现。
结语
VPS 性能测评没有绝对标准,工具选得再多,最终还是要回到自己的真实场景:你的网站是什么程序、访客在哪条线路、流量高峰在什么时候。把上面的工具组合起来,跑一次完整的测评,再结合自己的业务去判断,比看任何宣传页都有用。希望这篇实战指南能帮你在选购和排障时少走弯路。