1.摘要
如果你刚刚购买了一台VPS,看到商家的配置标明有“4核CPU”和“高性能处理器”,你可能会想,这台机器的性能应该不错。然而,实际使用过程中,你可能会遇到一些问题:网站加载缓慢,应用响应迟缓,甚至SSH连接也变得卡顿。这种情况可能会让你怀疑,商家提供的配置是否真实,或者说是否有“超售”的问题。
VPS(虚拟私人服务器)与我们家里的物理电脑有很大区别。我们无法直接打开机器检查硬件,也不能随便拆解一台VPS。相较于物理机,VPS的性能评估要复杂一些。幸运的是,我们可以通过一些简单的方法和工具来测试VPS的CPU性能,甚至是对Linux小白也十分友好。
2.为什么VPS的CPU性能判断麻烦?
在我们探讨具体的测试方法之前,首先需要理解为何测试VPS的CPU性能比在自己电脑上测试要麻烦得多。关键在于VPS的独特性质。
2.1VPS与物理机的区别
在你家里的电脑,CPU是属于你个人使用的,性能几乎完全由你控制。但VPS就不同了,它是在一台大服务器上通过虚拟化技术分割出来的多个小部分。这意味着你的VPS可能与其他用户共享同一颗物理CPU。
如果同一台物理服务器上的其他VPS也在高负载运行,导致整体性能下降,你的VPS性能也会受到影响。这就是所谓的共享CPU与独享CPU的区别。
2.2超售现象
更麻烦的是,不少商家为了提高利润,可能会采用超售策略。举个例子,一台物理服务器有32个CPU核心,商家可能会开设40、50台,甚至更多的VPS,每台VPS标明为1核心。理论上每台VPS确实有1核,但实际情况是,这1核心需要与其他很多VPS共享。这就导致了性能下降,尤其在高峰期,VPS可能完全无法满足使用需求。
2.3CPU资源被“偷走”
在VPS的世界里,还存在一个常见的现象叫做CPU Steal Time。简单来说,CPU Steal Time就是你需要使用CPU时,发现物理服务器正在处理其他VPS的请求,导致你的VPS要等很长时间才能获得CPU资源。
如果CPU Steal Time过高,即使商家标明你的VPS有4核CPU,实际可用的性能可能连1核都不到。
3.如何查看VPS的CPU基础信息?
在开始跑分之前,我们首先得了解VPS的基本CPU信息。这个过程非常简单,只需要几个命令就能搞定。
3.1查看VPS的CPU信息
连接到你的VPS,然后输入以下命令查看CPU的详细信息:
cat /proc/cpuinfo
也可以使用下面的命令简化输出:
lscpu

关注以下几个参数:
CPU型号(Model name):这个字段最重要,直接关系到你使用的是哪种CPU。比如Intel Xeon或AMD EPYC系列都是比较常见的服务器CPU。如果你看到的是“Intel Core i3”或者“Intel Celeron”,那就得注意了,消费级的CPU性能一般不如服务器级别的处理器。
CPU核心数(CPUs):这里显示的是你的VPS分配的虚拟核心数,注意,这并不等于物理CPU的核心数,因为一个物理核心可以被虚拟成多个vCPU。
CPU主频(CPU MHz):主频越高,CPU的计算能力就越强,但在VPS中,这个数值可能会因为负载不同而有所波动。
CPU缓存(Cache):缓存越大,CPU处理数据的效率越高。如果缓存较小,说明可能是比较老的CPU或者低端型号。

4.使用Sysbench工具测试VPS的CPU性能
了解了基本信息后,我们就可以通过一些实际的测试工具来测试VPS的CPU性能了。这里,我推荐使用sysbench工具,因为它简单、直观,并且能够反映出CPU的真实性能。
4.1安装Sysbench
大部分Linux系统都可以通过包管理器直接安装sysbench:
对于Ubuntu/Debian系统:
sudo apt update sudo apt install sysbench -y

对于CentOS系统:
sudo yum install sysbench -y
安装完成后,执行以下命令来确认安装成功:
sysbench --version
4.2运行Sysbench CPU性能测试
一旦sysbench安装完成,接下来我们就可以进行CPU性能的测试了。输入以下命令进行单核性能测试:
sysbench cpu --threads=1 run这条命令会让CPU进行质数计算,默认情况下计算到10000以内的质数,测试时间为10秒。运行结果会提供“events per second”的数据,它代表每秒CPU完成的计算任务数。数字越大,说明CPU性能越好。
说明:Events per second,这个数字表示每秒钟CPU能够完成多少次计算任务。数字越大,说明CPU性能越强。例如,1000次事件每秒的CPU性能相对来说是中等水平,适合处理小型应用;而超过2000次的CPU则表现非常优秀,能够处理大负载任务。
4.3测试多核性能
如果你的VPS是多核的,你也可以测试其多核性能:
sysbench cpu --threads=$(nproc) run这里的$(nproc)会自动获取VPS的核心数。理想情况下,多核的测试结果应该是单核性能的几倍。例如,4核VPS应该是单核性能的4倍左右。如果性能倍增不明显,那么就说明VPS的多核性能受到了限制,可能是因为商家超售或物理机的资源分配不合理。
4.4不同参数的测试差异
需要注意的是,sysbench工具可以调整测试的难度。例如,默认情况下计算的是10000以内的质数,但你也可以增加难度,计算更大的质数,如20000。这样做会使CPU的负载增加,测试结果会大幅下降。我个人建议使用sysbench工具默认参数进行测试,因为大多数人都使用这个标准,这样更方便比较不同VPS的性能。因为CPU性能会受到物理机负载的影响,我建议用户你至少测试3-4次,每次在不同的时间段测试。如果结果始终稳定,那就说明VPS性能较为稳定。如果测试结果波动很大,那么你很可能遇到了超售或资源争用的情况。
5.如何判断VPS性能是否合格?
VPS的性能合格与否,要根据你的使用需求来判断。一般来说,个人博客、小型网站的单核性能在500到1000之间就足够了。如果你的需求比较复杂,比如运行API服务或者中型网站,那么单核性能至少要1200以上。最重要的一点是:稳定性。宁愿选择一个稳定的VPS,哪怕它的性能稍低,也比那种性能时好时坏的VPS更值得选择。
6.进一步检测:CPU Steal Time
除了测试CPU性能,我们还需要关注CPU Steal Time。如果你的VPS经常出现高Steal Time,说明它经常在等待CPU资源,可能是因为超售太严重。你可以通过top命令查看Steal Time:
top

如果在第三行看到st字段值较高,那么你的VPS可能受到了超售影响。Steal Time超过10%说明你的VPS性能已经受到了较大影响。
7.总结
测试VPS的CPU性能其实很简单,只需要几步就可以全面了解你的VPS性能:
用
lscpu查看基础信息;使用
sysbench工具测试单核和多核性能;使用
top查看CPU Steal Time,检查超售情况。
通过这些测试,你可以清楚地判断VPS的性能是否达标,避免购买到那些超售严重、性能不稳定的VPS。如果测试结果不满意,赶紧换个商家,别让低性能的VPS影响到你的工作和生活。我推荐几个知名的海外云服务器便宜商家,例如 VMRack、RackNerd、CloudCone 或者 ColoCrossing 这些商家,不仅便宜,性能也还不错。
评论区