技术指南

VPS 规格选择:用负载预算和恢复窗口验收

把 VPS 核数、内存、磁盘和网络标签改写成负载预算,并用峰值、限制与恢复演练验收候选规格。

VPS 规格不是用途标签。先把真实负载、峰值并发、数据增长、备份与恢复窗口写成预算,再用候选实例运行同一组验收探针;只有 CPU、内存、磁盘、网络和恢复门槛同时通过,配置才算够用。‘1 核 1G 能不能建站’没有脱离应用版本、访问形态和服务边界的通用答案。

来源提供了维度,未提供可复查门槛

归档页面把 CPU、内存、磁盘、带宽、流量、地区、备份和常见用途放进同一选择问题,这是可保留的范围框架;但它按 WordPress、Docker 等标签给出固定核数、内存与容量,没有样本、版本、并发、延迟目标、恢复时间或失效条件。VPScope 不沿用这些数字作为推荐。

把“够用”改写成六个可失败条件

维度先定义候选实例必须证明
应用峰值请求、后台任务、状态码与延迟目标代表性路径在完整窗口内通过
CPU并发、单次工作量、可接受排队尾延迟、吞吐和 PSI 未越界
内存工作集、缓存、并发峰值和守护进程无 OOM,回收/交换与 memory PSI 可接受
存储现有数据、日增长、保留期和临时空间容量、inode、写入延迟和升级空间均有余量
网络用户地区、方向、峰值速率与月传输授权路径在目标时段满足丢包、延迟和吞吐门槛
恢复RPO、RTO、备份大小和重建步骤隔离恢复在窗口内完成且数据可验证

硬门槛应在测试前冻结。例如“峰值 20 并发下 p95 小于 250 ms、错误率为 0、无 OOM、恢复少于 30 分钟”是可证伪契约;“打开还挺快”不是。阈值来自业务,不来自本文或套餐名称。

先保存空闲基线与当前约束

在与生产同版本的候选环境采集;命令输出可能暴露主机名、挂载和路径,共享前脱敏
stamp=$(date --utc +%Y%m%dT%H%M%SZ)
umask 077
mkdir "sizing-$stamp"

lscpu --json >"sizing-$stamp/lscpu.json"
free --bytes >"sizing-$stamp/free.txt"
df --block-size=1 --output=source,fstype,size,used,avail,pcent,target \
  >"sizing-$stamp/df-bytes.txt"
df --inodes --output=source,itotal,iused,iavail,ipcent,target \
  >"sizing-$stamp/df-inodes.txt"
for r in cpu memory io; do cat "/proc/pressure/$r" >"sizing-$stamp/$r.pressure"; done
cat /proc/self/cgroup >"sizing-$stamp/cgroup.txt"

`free` 的 available 是内核估计在不交换的前提下可供新应用启动的内存,不能把 free 列直接当剩余额度。PSI 则量化任务因 CPU、内存或 I/O 争用而停顿的时间;采集前后增量和应用延迟要对齐,不能仅凭某个瞬时百分比判定套餐。

内存预算从工作集向外相加

组成证据容易漏掉
应用工作集稳定窗口 RSS/cgroup memory.current 与峰值并发、缓存预热、队列积压
依赖服务数据库、代理、任务进程逐项测量连接池、迁移、压缩与导入
系统与控制面空闲基线、日志、监控、SSH面板、更新和备份进程
故障与增长余量峰值样本乘明确系数并复测滚动发布时新旧版本共存

容器默认可以使用宿主调度器允许的资源。设置 `--memory`、`--cpus` 或编排限制前先测工作集,并在限制下重跑验收;硬限制能保护宿主,却不会自动让应用优雅降级。Swap 可以提供缓冲,但频繁换页会增加延迟,不能把磁盘容量折算成等价 RAM。

CPU 要看排队和尾延迟,不只看核数

相同 vCPU 数的实例可能有不同架构、频率、共享策略和邻居竞争。用代表性请求在目标并发下记录吞吐、p50/p95/p99、失败、进程 CPU 时间与 CPU PSI;跨早晚窗口重复。并发增加后吞吐不再上升、尾延迟陡增或 PSI 持续增长,说明当前执行路径已经排队,不能用空闲平均负载掩盖。

工作形态更应观察不能直接推断
串行请求/解释器单请求 CPU 时间和尾延迟多一倍核数会让单请求快一倍
并行 worker吞吐、上下文切换和队列长度worker 越多越快
编译/压缩/图片有界任务完成时间与在线请求影响峰值跑分等于长期性能
共享 vCPU多个时段的波动与 steal/PSI一次样本代表宿主稳定性

磁盘同时预算 bytes、inode、延迟和恢复空间

容量公式至少包含当前数据、镜像/软件、日志保留、数据库临时文件、备份暂存、升级时新旧版本共存和增长窗口。小文件负载可能先耗尽 inode;数据库即使容量充足,也可能先被同步写延迟限制。`df` 回答文件系统可用块和 inode,不回答底层持续性能或备份是否可恢复。

每一项用实测 bytes 填写;不要把供应商标称容量直接当应用可用空间
候选容量 = 当前可恢复数据
         + 软件与镜像
         + 日增长 × 保留天数
         + 备份/导入/升级临时峰值
         + 明确的故障与增长余量

带宽、月流量和用户路径分开计算

问题计算或测试证据边界
峰值能否送完峰值响应 bytes × 每秒请求,加协议开销端口速率不是应用持续吞吐保证
月传输是否够入站与出站分别按真实日型积分平均值会隐藏活动/备份峰值
目标用户是否可用授权地区在目标时段测 RTT、丢包和应用请求loopback 或就近测速点不能代表用户
受限后会怎样核对限速、超量费、暂停与重置规则“不限流量”不能自行解释为无约束

地区不是延迟的替代字段。同一城市、不同运营商、IPv4/IPv6 和回程都可能给出不同路径;采购前用自己控制的区域探针测试真实 TLS/应用入口,并把节点、时间、方向和流量预算写入证据。

用途只决定测试夹具,不决定套餐

负载必须放入夹具最先关注
静态站/反代真实资源大小、TLS、缓存冷暖与峰值连接网络、文件缓存、尾延迟
动态 CMS应用、数据库、插件、缓存、登录与发布内存、数据库延迟、备份恢复
多容器所有常驻服务、健康检查、日志与更新共存总工作集、端口、卷和故障隔离
数据库代表性数据、读写比例、同步与恢复内存、写延迟、容量和 RTO
构建/批处理最大工件、并发任务与在线流量共存CPU、临时磁盘、完成窗口

候选套餐用同一协议验收

  1. 先在与生产一致的系统、应用、依赖版本和数据尺度上建立空闲基线。
  2. 预热后运行正常、峰值和降级三种窗口,保存每次原始样本与失败。
  3. 逐级施加明确 CPU/内存限制,确认应用在预算边界内通过,而非只在无限制宿主通过。
  4. 同时观察延迟、吞吐、错误、RSS/cgroup、PSI、磁盘 bytes/inode、写入延迟和网络传输。
  5. 执行一次独立备份与恢复,验证数据、权限、DNS/TLS 切换和 RTO。
  6. 跨目标业务时段重复;结果波动超出门槛时先记录未知,不选择性保留最好一次。
  7. 把升级路径、停机、IP 变化、磁盘缩容限制和回滚成本写进采购决策。

隔离演练显示 CPU 可能先于内存成为边界

VPScope 在单机 loopback 夹具中让服务常驻分配 32 MiB,依次以并发 1、4、12 完成 30、60、120 次校验请求,并保存 RSS、进程 CPU 时间、延迟、日志增长、PSI 和清理证据。210 次响应全部通过;峰值 RSS 为 55,424 KiB,按 1.5 倍得到的 83,968 KiB 只是一项服务候选预算,不包含系统、代理、数据库、监控、备份或增长。

并发 1 的 p95 为 2.817 ms;并发 4 为 8.456 ms;并发 12 为 17.182 ms,且最大值达到 1,050.692 ms,吞吐从并发 4 的 659.913 req/s 降至并发 12 的 106.204 req/s。这个结果只能证明该夹具出现排队与长尾,不能映射到任何 VPS 核数、厂商或真实应用。测试进程已终止,回环端口关闭,一次性目录删除。

把方案写成通过、失败与未知

结论写法下一步
通过所有硬门槛通过,余量和观察窗已记录小流量上线并继续监测
失败明确哪一维、哪一窗口越界优化后复测或换规格
未知缺少目标地区、峰值、恢复或限制证据补测,不用宣传参数代填

最低价只应在多个通过方案之间比较。若候选只能通过平均负载、无法在发布、备份、峰值或单点故障窗口维持门槛,就不是“先买小再说”,而是把已知风险推给上线后。反过来,超配也不是永久结论:监控证据稳定后可提出降配候选,并按同一协议复测与回滚。

下单前的可复查清单

  • 工作负载版本、数据尺度、峰值并发、用户地区和增长窗口已冻结。
  • 延迟、吞吐、错误、RPO、RTO 与可用性硬门槛在测试前写明。
  • 空闲基线包含 CPU、MemAvailable、文件系统 bytes/inode、PSI 和实际 cgroup 约束。
  • 正常、峰值、发布、备份和故障恢复窗口都用代表性夹具运行。
  • 内存预算逐项包含应用、依赖、系统、控制面、共存与增长,不把 Swap 当 RAM。
  • CPU 结论来自尾延迟、吞吐、CPU 时间和跨时段压力,不来自核数标签或一次跑分。
  • 存储同时验证容量、inode、延迟、临时峰值与独立恢复。
  • 网络按地区、运营商、IP 族、方向和目标时段验证,月流量按真实日型计算。
  • 限制条件下重新验收,失败样本和未知项没有被删除。
  • 升级、回滚、IP/磁盘限制、续费和迁移成本已经记录。
  • 结论明确写为通过、失败或未知,并列出重新评估触发。

返回知识库