如果你刚买了台 VPS,看着商家介绍的配置:4 核 CPU、高性能处理器。但实际用起来怎么样,你可能并不清楚。这是很多新手都会遇到这样的问题。
配置看起来不错,但实际跑起来网站加载慢,应用响应卡顿,甚至 SSH 连接都要等半天。这时候你就该想想:这台 VPS 的 CPU 性能真的达标吗?还是商家超售太严重?
VPS 不像自己的电脑,你看不见摸不着,也不能直接拆开看看里面装的什么配置。但我们可以通过一些简单的测试,来判断 CPU 性能到底行不行。
今天我就来说说如何测试 VPS 的 CPU 性能,哪怕你是 Linux 小白也会测试。
为什么 VPS 的 CPU 性能判断更复杂
在说具体测试方法之前,我觉得有必要先解释一下:为什么测试 VPS 的 CPU 性能,要比测试你自己电脑的 CPU 麻烦得多?
1、VPS 和物理机的本质区别
你家里的电脑,CPU 是实实在在属于你一个人的。但 VPS 不一样,它是从一台物理服务器上虚拟出来的。简单说,就是商家用虚拟化技术把一台大服务器分成了很多小份,每一份就是一个 VPS。
这就带来一个问题:你的 VPS 和别人的 VPS,很可能共享同一颗物理 CPU。如果同一台物理机上的其他 VPS 在跑高负载任务,你的 VPS 性能就会受影响。为此就有共享和独享 CPU 的区别。
2、超售现象普遍存在
更麻烦的是,很多商家为了赚钱会玩超售。
什么意思呢?比如一台物理服务器有 32 个 CPU 核心,正常情况下可以开出 32 个单核 VPS。但商家可能会开出 50 个、甚至 100 个 VPS,然后告诉每个用户你有 1 核 CPU。
账面上你确实有 1 核,但实际上这 1 核要和很多人一起抢。运气好的时候还能用,运气不好就只能等着。这就是为什么有些便宜 VPS,配置看起来不错,用起来却卡得要命。
3、CPU 资源被偷走
VPS 还有个特殊的现象叫 CPU Steal Time。简单来说,当你的 VPS 需要用 CPU,但物理 CPU 正忙着处理别的 VPS 任务时,你就得等着。这个等待时间就是 Steal Time。
如果 Steal Time 太高,说明这台物理机超售严重,你的 VPS 经常抢不到 CPU 资源。这时候哪怕商家给你标的是 4 核 CPU,实际性能可能连 1 核都不到。
查看 VPS 的 CPU 基础信息
在开始跑分测试之前,我们先看看 VPS 的 CPU 基本情况。这一步很简单,只需要几个命令就能了解你的 CPU 型号、核心数这些基础信息。
查看 CPU 详细信息的命令
连接到你的 VPS 后,在命令行输入:
cat /proc/cpuinfo
就会显示 CPU 的详细信息。如果你觉得内容太多,可以用这个命令只看型号和核心数:
lscpu
lscpu 的输出更简洁,一眼就能看清楚关键信息。
需要关注的几个参数
拿到这些信息后,我们重点看几个参数:
1、CPU 型号(Model name)
这个最重要。你会看到类似 “Intel Xeon E5-2680” 或 “AMD EPYC 7542” 这样的字样。
如果是 Intel Xeon 或 AMD EPYC 系列,说明是服务器级 CPU,这是正常的。但如果你看到的是 “Intel Core i3” 或者 “Intel Celeron”,那就要小心了,消费级 CPU 性能肯定不会好。
我之前买过一个便宜 VPS,用的是老款的 Intel Xeon E5-2650。虽然也能用,但性能肯定比不上新一代的处理器。所以看型号的时候,顺便搜一下这个 CPU 是哪一年的,太老的就别指望性能。
2、CPU 核心数(CPUs)
这个数字告诉你商家给了你几个核心。比如你买的是 2 核 VPS,这里应该显示 2。
但要注意,VPS 上显示的核心数是 vCPU(虚拟 CPU 核心),不是物理核心。一个物理核心可以虚拟成多个 vCPU,所以这个数字只是参考,不代表你真的拥有这么多独立的 CPU 资源。
3、CPU 主频(CPU MHz)
这个数字表示 CPU 的运行频率。理论上频率越高,单核性能越强。
但在 VPS 上,这个数字可能会变来变去。你刷新几次可能会看到不同的数值,这是因为现代 CPU 会根据负载动态调整频率。例如我在测试 Evoxt 洛杉矶机房时就有类似的情况。
4、缓存大小(Cache)
CPU 缓存越大,处理数据的效率越高。一般服务器 CPU 的 L3 缓存都在几 MB 到几十 MB。
这个参数不用太在意,因为 VPS 是共享缓存的,你看到的数字是物理 CPU 的缓存大小,不是你独占的。但如果缓存特别小(比如只有几百 KB),说明 CPU 比较老旧或者是低端型号。
一个实际的例子
比如我手上有台 VPS,lscpu 显示的信息是这样的:
- CPU型号:Intel Xeon E5-2686 v4
- 核心数:2
- 主频:2300 MHz
- 缓存:46080 KB(也就是 45MB)
从这些信息我能判断:这是 Intel 2016 年的服务器 CPU,主频 2.3GHz 还算可以,商家给了我 2 个 vCPU 核心。这个配置跑个小网站、轻量级应用是够用的。
但这只是基础信息,真实性能如何,还得继续测试才知道。因为同样是 2 核,有的 VPS 能跑满 2 核的性能,有的可能因为超售严重,实际性能连 1 核都达不到。
所以看完这些基础信息,接下来我们就要进入实战环节——用工具来测试真实的 CPU 性能。
VPS CPU 性能实测
看完基础信息,现在进入最关键的部分——实际测试 CPU 性能。我主要用 sysbench 这个工具,它简单好用,而且能直观地反映出 CPU 的真实性能。
安装 sysbench
大部分 Linux 系统可以直接用包管理器安装。如果你用的是 Ubuntu 或 Debian 系统:
apt update
apt install sysbench -y
如果是 CentOS 或其他系统:
yum install sysbench -y
安装好之后,输入 sysbench --version 确认一下是否安装成功。
开始测试
sysbench的CPU测试很简单,一行命令就搞定:
sysbench cpu --threads=1 run
这个命令会让 CPU 计算质数,默认计算到 10000 以内的质数。测试会跑 10 秒钟,然后给出结果。我用手上一台 JustHost 德国机房的 VPS 测试了一下,结果如下:
root@r1089906:~# sysbench cpu --threads=1 run
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Prime numbers limit: 10000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 1050.34
General statistics:
total time: 10.0006s
total number of events: 10505
Latency (ms):
min: 0.92
avg: 0.95
max: 6.28
95th percentile: 0.97
sum: 9995.08
Threads fairness:
events (avg/stddev): 10505.0000/0.00
execution time (avg/stddev): 9.9951/0.00
如何看懂测试结果
结果里最重要的就是这一行:events per second: 1050.34
这个数字表示每秒能完成多少次计算事件。简单说,数字越大,CPU 性能越好。这台 VPS 的单核性能是每秒 1050 次事件。这个成绩算什么水平呢?我给你一些参考:
- 每秒400-900次:入门级别,跑博客、小网站够用
- 每秒900-1400次:中等水平,可以跑稍微复杂点的应用
- 每秒1400-2000次:性能不错,适合跑API服务、中型网站
- 每秒2000次以上:高性能VPS,处理密集计算任务没问题
所以我这台 VPS 的单核性能处于中等水平,跑个人博客、小型应用都没什么问题。
测试多核性能
如果你的 VPS 有多个核心,可以测试一下多核性能:
sysbench cpu --threads=$(nproc) run
把 $(nproc) 会自动获取你 VPS 的核心数。比如你是 4 核 VPS,就会是 --threads=4。
理想情况下,4 核的 events per second 应该是单核的 4 倍左右。但实际上很难达到完美的线性增长,能到 3.5 倍就算不错了。如果达不到这个倍数,说明这个 VPS 多核性能被严重限制了。
注意测试参数的差异
这里要提醒你一点:sysbench 可以调整测试难度。默认是计算到 10000 以内的质数,但有些人会用 --cpu-max-prime=20000 来增加难度。
比如这样:
sysbench cpu --cpu-max-prime=20000 --threads=1 run
难度提高后,events per second 的数字会明显降低。就拿我这台 VPS 来说,默认参数跑出来是1050,如果用 --cpu-max-prime=20000 测试,结果大概是 520 左右。
所以你在网上看别人的测评文章时,一定要注意他们用的参数是什么。同样一台 VPS,用 10000 和 20000 测出来的结果完全不一样,不能直接比较。
我个人建议就用默认参数(不加 --cpu-max-prime 参数),因为大部分人都用这个标准,方便对比。
多测几次更准确
CPU 性能会受物理机负载影响,所以我建议你不要只测一次。
在不同时间段多测几次,比如白天测一次、晚上测一次、凌晨再测一次。如果每次结果都差不多,说明这台 VPS 还算稳定。如果有时候能跑到 1200,有时候只有600,那就说明超售严重。
什么样的成绩算合格
这个要看你的需求和价格。如果你买的是每月 5 美元的低价 VPS,单核跑到 800-1000 就算合格了。如果你买的是高性能 VPS,价格 20 美元以上,那单核至少要 1500 以上才说得过去。
最重要的是性能要稳定。宁愿买个跑分 1000 但一直稳定的 VPS,也不要买那种有时候 1400、有时候 500 的不稳定服务器。测完这些基本就能判断你的 VPS 性能如何了。
如果测出来的结果远低于预期,或者波动特别大,建议你趁早退款换家。
识别 CPU 超售和性能缩水
跑完 sysbench 测试,你可能会觉得已经够了。但其实还有一个很重要的指标需要检查——CPU Steal Time,这个数据能直接告诉你,商家有没有严重超售。
什么是 CPU Steal Time
Steal Time 就是你的 VPS 想用 CPU,但 CPU 正在被别的人占用,导致你等待的时间。
如果 Steal Time 很高,说明这台物理机上挤了太多 VPS,大家都在抢 CPU 资源。你名义上有 2 核CPU,但实际上经常抢不到,性能自然就差。
如何查看 Steal Time
最简单的方法是用 top 命令:
top
运行后看第三行,会有类似这样的显示:
%Cpu(s): 5.2 us, 2.1 sy, 0.0 ni, 90.5 id, 0.0 wa, 0.0 hi, 0.2 si, 2.0 st
最后那个 st 就是 Steal Time。上面例子里是 2.0%,表示有 2% 的时间 CPU 被消耗掉了,你的 VPS 在等待。你也可以安装使用 iostat 命令,可以看得更清楚:
iostat -c 1 5
这个命令会每秒刷新一次,连续显示 5 次。你会看到 %steal 这一列,观察数值在什么范围。
Steal Time多少算正常
这个数字越低越好:
- 0-5%:很健康,说明物理机负载合理,你的 VPS 能正常抢到 CPU 资源
- 5-10%:还能接受,偶尔会有点卡,但不至于影响太大
- 10-20%:开始有问题了,说明超售比较严重,性能会受明显影响
- 20%以上:严重超售,这种 VPS 基本没法正常用
我之前买过一台便宜 VPS,刚买的时候 Steal Time 只有 3% 左右,用着还不错。过了几个月,商家可能又卖了一批 VPS 塞进同一台物理机,Steal Time 突然飙到 15% 以上,网站明显变慢了。
不同时段多次测试
和 sysbench 测试一样,Steal Time 也要在不同时间多看几次。
特别是晚上高峰期,很多人都在用 VPS 的时候。如果白天 Steal Time 是 2%,晚上飙到 20%,说明这台物理机超售严重,不适合跑需要稳定性能的应用。
你可以写个简单的脚本,每小时记录一次 Steal Time,观察一整天的变化规律。
其他性能缩水的迹象
除了 Steal Time,还有几个地方能看出问题:
1、CPU 频率异常低
前面我们用 lscpu 看 CPU 信息,如果你发现 CPU 频率一直只有几百 MHz,明显低于标称的 2GHz 或 3GHz,可能是商家限制了 CPU 频率,或者物理机过热导致降频。
2、IO Wait 时间过长
在 top 命令的输出里,还有一个 wa(IO Wait)的数值。如果这个数字经常超过 10%,说明磁盘 IO 很慢,虽然这不是 CPU 问题,但也会严重影响整体性能。
3、sysbench 测试结果波动巨大
如果你白天测试是 1200,晚上只有 600,第二天早上又变成 1000,这种大幅波动说明 VPS 性能很不稳定。正常的 VPS 应该在不同时段保持相对稳定的性能。
发现问题怎么办
如果你发现 Steal Time 过高,或者 sysbench 成绩波动太大,建议联系商家要求解决或退款。
大部分正规商家都会提供 7 天到 30 天的退款保证。这个时间就是让你测试性能用的,如果不满意就赶紧退。别想着凑合用,性能不行的 VPS 只会让你越用越糟心。
总结
测试 VPS 的 CPU 性能,其实就这么几步:
- 用
lscpu或cat /proc/cpuinfo查看 CPU 型号和基础信息 - 用
sysbench cpu --threads=1 run测试单核性能 - 用
top或iostat检查 CPU Steal Time - 在不同时段多测几次,看性能是否稳定
整个过程最多花你半小时,但能帮你避开那些超售严重、性能缩水的垃圾 VPS。
特别提醒一点:一定要在退款保证期内完成这些测试。大部分商家提供 7 天到 30 天退款,但有的商家可能只有 3 天。千万别等到退款期过了才发现 VPS 性能不行,那时候就晚了。
我的建议是,买到 VPS 后第一天就测试一遍,然后过几天再测一次。如果两次结果都不理想,果断退款换家。市面上 VPS 商家那么多,没必要在一家不靠谱的商家上浪费时间和钱。
常见问题解答(FAQ)
Q1:sysbench 测试分数多高才算好?
这个没有绝对标准,要看你的需求和预算。一般来说:
·个人博客、小型网站:单核 500-1000 就够用
·中型网站、API 服务:单核 1200-1500 比较合适
·高负载应用、数据处理:单核 1800 以上
如果你需要更高的性能,可以考虑 AMD EPYC 处理器的 VPS,这是最新的 AMD 加购,CPU 的单核和多核性能普遍比同价位的 Intel VPS 更强。
Q2:测试结果不稳定,波动很大怎么办?
如果你多次测试发现分数差距超过 30%,比如有时候 1200、有时候 700,这说明 VPS 超售严重或者物理机负载不稳定。
我建议直接退款换别家。性能不稳定的 VPS,今天能用明天可能就卡,长期下来会很头疼。选择一家口碑好的商家,例如搬瓦工,虽然价格可能贵一点,但省心很多。
Q3:Steal Time 突然变高了,是什么原因?
有可能商家在同一台物理机上又开了更多 VPS(超售加剧),或者同一物理机上其他 VPS 突然跑高负载任务,又或者物理机硬件出现问题。
如果 Steal Time 持续超过 10%,建议提工单问问商家。有些商家会帮你迁移到负载更低的物理机,如果商家不理你或者态度不好,那就考虑换家吧。
Q4:共享 CPU 和独立 CPU 该怎么选?
这取决于你对性能稳定性的要求:
·共享CPU:价格便宜,适合流量不大、负载不高的网站或应用。
·独立CPU:价格贵一些,但性能稳定,更适合生产环境。
Q5:测试完 CPU 性能,还需要测试什么?
CPU 只是 VPS 性能的一部分,建议你还要测试:
·磁盘 IO 性能:用 fio 命令测试读写速度
·网络速度:测试上传下载带宽和延迟
·内存性能:看看分配的内存是否足额
Q6:买便宜 VPS 一定会超售吗?
不一定,但概率比较大。
每月 3-5 美元的低价 VPS,商家利润很薄,为了赚钱往往会超售。但也有少数良心商家,虽然价格便宜但不会过度超售,这种需要你自己多测试、多对比。
我推荐几个知名的便宜商家,例如 RackNerd、CloudCone 或者 ColoCrossing 这些商家,不仅便宜,性能也还不错。









