
同样标着”4 核 8G”的两台 VPS(Virtual Private Server,虚拟专用服务器),一台每月几十元,一台要好几百,跑同一个网站的性能却可能差出一倍以上。为什么配置表几乎一样,实际差距却这么大?比价时如果只盯着核数,很容易把钱花在纸面数字上。这篇文章帮你解决这个判断难题:不重复超售的概念定义,而是给一套可以直接执行的验货方法——用 steal time、高峰压测、长压力测试和磁盘 I/O 四个数据点,在下单前或退款窗口内测出一台 VPS 的真实算力。每个数据点都附具体命令和判断阈值,照着跑一遍,就知道手里的机器值不值这个价。开始之前,可以先浏览 Hostease 博客的服务器分类文章,对主机类型的整体分工有个底。
为什么”同配置不同价”是常态
要理解价格差异,得先回到 VPS 的技术底座:虚拟化。服务商在一台物理服务器上通过虚拟化层切出多个 VPS,每个 VPS 看起来都拥有独立的 CPU、内存和磁盘。问题在于,”看起来拥有”和”实际独占”是两回事。
母机上物理核心只有那么多。假设一台母机有 32 个物理核心,服务商在上面切了 40 台 4 核 VPS,合计就是 160 个 vCPU——物理算力的 5 倍。这就是超售。只要这些 VPS 不同时满载,大家相安无事;可一旦多台同时跑重负载,物理核心就成了抢手货,每台 VPS 分到的真实算力会被迅速稀释。
这种模式本身并不等于骗局。共享型资源是云行业把成本摊薄、把低价做下来的基础,多数入门级 VPS 都属于这一类。真正的问题是信息不对称:采购页只写”4 核”,不写这 4 个核是独享还是共享、超售比例是多少。于是同样标 4 核的两台机器,一台可能始终跑得动,另一台在晚高峰 CPU 排队严重。选购时你要做的,不是一味避开共享资源,而是识别超售是否过度、服务商是否给共享型负载划定了公平底线。
共享核与独享核:差异到底在哪
共享核指多个 VPS 的 vCPU 映射到同一批物理核心、按时间片轮流使用;独享核则保证某个 vCPU 独占一个物理核心或超线程,不受邻居负载影响。两者的差异可以从三个维度量化:
CPU steal time 是最直接的证据。 在 Linux 里执行 top 或 vmstat 1,看 st 这一列:它表示虚拟机等待物理 CPU 却被宿主机挪用的时间百分比。共享核机器在邻居繁忙时 st 可达 5%-20% 甚至更高;独享核机器通常长期接近 0%。连续观察 24 小时,st 均值超过 5% 就要警惕过度超售。
突发性能的表现完全不同。 共享核机型常见”突发额度”机制:平时限制在基准频率(比如单核 20%),短时可冲到 100%,额度耗尽后降速。跑一次数据库导出或网站备份就可能把额度烧光,之后同样的任务耗时翻倍。独享核没有这种隐形天花板,性能曲线平稳,适合持续负载。
延迟敏感型业务受影响最大。 电商大促、直播推流、实时 API 这类场景对 CPU 排队极其敏感。社区里大量实测数据都指向同一个规律:同一台共享核机器在不同时段跑同一条 sysbench --threads=4 --time=30 cpu 命令,每秒事件数(events/s)差距可达 40% 以上;而独享核机型的波动一般控制在个位数百分比。如果你的业务对响应时间有 SLA 承诺,这个差距就是选购时的决定性因素。

下单前后:四步识别过度超售
判断一台 VPS 是否被过度超售,不需要昂贵的监控工具,四条命令就能覆盖大部分场景。
第一步:看 steal time 的基线。 拿到机器后先跑 vmstat 1 60,连续观察一分钟,记录 st 列的平均值。刚开机、无邻居负载时 st 应接近 0;如果空闲时段就常驻 3% 以上,说明母机本身已经很拥挤。
第二步:在业务高峰时段复测。 空闲时段的数据会骗人,超售的影响集中在晚高峰(国内业务一般在 20:00-23:00)。用 sysbench cpu --threads=4 --time=60 run 在高峰期跑一轮,同时另开终端执行 vmstat 1,对比两次的 events/s 和 st 值。高峰期性能比空闲期掉 30% 以上,基本可以判定超售比例偏高。
第三步:用长压力测试暴露调度排队。 短测试容易被时间片调度掩盖问题,建议跑 stress-ng --cpu 4 --timeout 600 --metrics-brief 持续 10 分钟,观察吞吐量是否随时间衰减。突发型共享核机器通常在几分钟内出现明显下滑,而独享核机器的曲线保持水平。
第四步:看磁盘 I/O 和网络是否同样超卖。 CPU 之外,用 fio --name=test --rw=randread --bs=4k --iodepth=32 --runtime=60 --time_based 测随机读写 IOPS,用 iperf3 测网络带宽(单位时间内网络链路能传输的数据量)。不少低价机的套路是 CPU 谈判给足、I/O 严重超卖,数据库类业务踩这里的坑最多。
这四步的结果要放在同一时段、同一负载模型下对比才有意义。选购多台机器时,建议把每台机器的 vmstat、sysbench、fio 数据记成表格,用数字而不是宣传页做决策。

什么业务该选独享,什么业务共享核够用
不是所有业务都需要为独享核付溢价,选错方向要么浪费预算、要么埋下隐患。判断的核心是负载曲线和延迟敏感度。
适合独享核的场景:数据库(MySQL、PostgreSQL)、消息队列、持续运行的爬虫、实时 API 网关。这些负载的特点是 CPU 使用率高且持续,对尾延迟敏感。以一个日均 10 万订单的电商后台为例,MySQL 在促销时段 CPU 常驻 60% 以上,共享核一旦遇到邻居抢核,查询延迟从 20ms 飙到 200ms,前端下单接口就会超时报错。这类业务为独享核多付的钱,远低于一次故障损失的订单。
共享核够用的场景:企业官网、展示型 WordPress 站、低频内部系统、测试环境。一个日均 PV 5000 以下的企业站,CPU 均值通常不到 10%,共享核的基准配额完全覆盖,价格却只有独享方案的三分之一到一半。把预算省下来加内存或上 CDN(Content Delivery Network,内容分发网络),对访问体验的提升更明显。
中间地带的处理方式:负载波动大但峰值要求高的业务(比如工作日白天空闲、活动日爆发的营销站),可以考虑突发型共享核加监控告警的组合:用 vmstat 配合 cron 每分钟记录 st 值,超过阈值就触发迁移预案。这样用共享核的价格拿到接近独享的体验,代价是需要多一层运维准备。
如果不确定自己的业务属于哪一类,可以先按共享核配置上线,压测数据留档,出现 st 持续超标再无缝升级到独享方案。选购时也可以直接对比 Hostease VPS 各档位对资源类型的说明,把独享与共享的界线确认清楚再下单。
选购清单:下单前逐项核对
把前面的方法收拢成一份可执行的核对流程,下单前过一遍,能挡住绝大多数超售陷阱。
- 看 TOS/AUP 条款里有没有 CPU 上限条款:正规服务商会写明”允许使用不超过 X% 的 CPU”或明确标注 vCPU 为共享型;只谈核数、不谈限制条款的商家要留心。
- 查退款政策并做窗口期压测:多数商家提供 7-30 天退款窗口,拿到机器的头两天就把第 3 节的四步测试跑完,数据不达标立即退款换家。
- 高峰时段复测一遍 steal time:
vmstat 1连续观察 24 小时取均值,超过 5% 的机器不接生产业务。 - 核对内存和磁盘是否同样超卖:用
free -h确认内存没有气球(KSM)挤占,用 fio 确认 IOPS 达到宣传值的一半以上。 - 确认升级路径:问清共享核方案能否原地升级到独享核或独立服务器,避免业务增长后被迫迁移。
其中第 2 条最容易被忽略——很多人拿到机器直接部署业务,等发现性能问题早就过了退款期。正确的节奏是先测后用:窗口期内完成基线测试、高峰复测、I/O 测试三项,把数据存档作为后续性能对比的参照。
总结与下一步
VPS 的真实性能不取决于配置表上的核数,而取决于这些核背后是共享还是独占、超售是否克制。识别的方法并不复杂:用 vmstat 盯住 steal time,用 sysbench 和 stress-ng 在高峰时段实测性能衰减,用 fio 补查磁盘 I/O,四个数据点就能给一台机器的真实算力画像。
我们建议的选购顺序是:先明确业务的负载曲线和延迟要求,再决定共享核还是独享核;下单后第一时间在退款窗口内完成压测留档;上线后保留 st 值监控,超标即触发升级预案。如果你需要一个资源界定清晰、支持从 VPS 平滑升级到独立服务器的方案,可以考虑 Hostease 的 VPS 产品线,各档位的资源类型都有明确说明。选购路上遇到具体问题,也欢迎在博客的网站优化栏目查阅更多性能排查实践。