深度指南
无服务器与 VPS 盈亏平衡模拟器:按请求付费还是固定服务器价格
行业管理层分析
在无服务器与普通虚拟服务器之间做选择,常常被当成意识形态之争,其实是一道算术题。无服务器按请求和计算时间的单位计费,所以成本从零开始,并随每次调用而上升。VPS 无论空闲还是繁忙,都收取固定的月费,所以从第一天起就要花钱,然后在容量用尽之前保持不变。这两条线在某个请求量处交叉,而您处于该点的哪一侧,在两个极端上会让账单相差一个数量级。
让比较变得棘手的是,便宜的那条线并不是全部真相。无服务器的账单由几个部分组成:调用、内存时间、前置的 API 网关,以及随流量增长的日志。VPS 的账单看起来很小,但服务器需要打补丁、备份、监控,并且在它出故障时需要有人保持清醒。这些时间是真实的,对于小团队来说,往往是最昂贵的投入。因此,一个公平的盈亏平衡必须同时包括云账单和运维服务器所花工时的价值。
多米诺模型沿着成本从负载走到利润。每月请求数和执行时间界定了工作负载。结合价格规则,它们给出每百万请求成本,进而成为基础设施账单。再加上运维时间,总额与收入相比较。执行时间是悄悄起作用的驱动因素,因为它既放大无服务器的计算费用,又减少一台 VPS 能处理的请求数。把它减半,可以让盈亏平衡点移动很远。
冰山图展示了主线遗漏的东西。可见的是调用与计算费用,或 VPS 实例。水面之下,是往往比函数本身还要大的 API 网关费用、随每次请求增长的日志摄取、按您的时间价值定价的运维工时,以及冷启动让一些用户等待时所损失的收入。请用模拟器输入您自己的请求量和执行时间,然后测试把流量迁到 VPS,看看每月的差额。
公式与方法论蓝图
该模型是单个月份。无服务器每百万请求的成本等于调用价格,加上内存时间(执行时间内占用半 GB),再加上网关和日志费用。VPS 每月处理的百万请求数,等于一个容量常数除以执行时间,并向上取整为整数台实例,每台再加备份费用。运维时间在无服务器上为每月1.5小时,在 VPS 上为9小时,按您的小时费率估值。冷启动会让无服务器流量损失一小部分收入。
- 无服务器每百万成本
- s = 调用 + 0.5 GB × (ms ÷ 1000) × 10⁶ × GB-秒价格 + 网关 + 日志
- 在按使用量付费的平台上,一百万次请求的成本。
- VPS 容量
- Cap = 40,000 ÷ 执行 ms(每台实例的百万请求数)
- 一台实例每月能服务多少流量,请求越慢,容量越低。
- VPS 账单
- V = ceil(VPS 流量 ÷ Cap) × (价格 + 备份)
- 所需实例数(向上取整)乘以固定月价。
- 盈亏平衡量
- M* = (VPS 价格 + 备份 + 额外运维工时 × 费率) ÷ s
- 无服务器的成本与一台 VPS 加其额外运维时间的成本相同时,每月的百万请求数。
- 净利润
- 净额 = 收入 − 无服务器账单 − VPS 账单 − 运维 − 冷启动损失
- 月度结果。临界点就是它达到零的位置。
层层传导的弹性
每月请求数和执行时间是无服务器上弹性最大的输入,因为账单与两者都成线性关系。在 VPS 上,成本在一台实例装满之前是固定的,所以其影响以阶梯形式出现。您的运维费率在请求量较低时最重要,此时 VPS 账单很小,而您的时间占主导。
三个真实案例研究
白手起家的初创者
流量很轻的副业项目
一个小项目每月处理一千五百万次请求,函数很短。无服务器只需花几美元,而 VPS 加维护时间会花得更多。加载这个案例,可以看到为什么无服务器在小规模时胜出,以及免费额度为何是一个如此有力的起点。
处于扩张期的中型市场企业
高流量的稳定产品
一款收入强劲的产品处理数亿次短请求。无服务器账单很可观,但收入足以消化。加载这个案例,可以看到以绝对金额计的利润率,以及在这里测试 VPS 切换为何值得。
黑天鹅危机
海量流量下的慢 API
一个执行时间很长的 API 在无服务器上每月处理近二十亿次请求,而收入保持不变。计算、网关和日志的增长超过了收入。加载这个案例,可以看到账单超过收入,以及固定价格的服务器如何让当月恢复。
行业基准矩阵
| 指标 | 危险区 | 行业平均 | 前 10% 的佼佼者 |
|---|---|---|---|
| 小型 VPS 通常优于无服务器的每月请求量 | 无服务器上高于500M | 50–300M | 混合方案:稳定路由放 VPS,突发放无服务器 |
| 函数的平均执行时间 | 高于800 ms | 100–300 ms | 低于100 ms |
| 基础设施占收入的比例 | 高于40% | 10–20% | 低于8% |
| 小型 VPS 配置的每月运维工时 | 高于20 h | 6–10 h | 自动化后2–4 h |
| 网关和日志费用占无服务器账单的比例 | 高于60% | 30–50% | 低于25% |
变量与杠杆
每月请求数(百万)
您的应用每月处理的 API 或页面请求总数,以百万计。
杠杆: 在边缘缓存响应并去掉频繁的轮询,因为在无服务器上,每避免一个请求,就少付一份请求的钱。
平均执行时间(毫秒)
一次请求运行所需的时间。它既决定无服务器的计算费用,也决定一台 VPS 能处理多少请求。
杠杆: 分析慢函数、复用连接并精简依赖;执行时间会放大计算账单,同时缩小 VPS 的容量。
产品月收入
产品每月的收入,基础设施和您的时间都要从中支付。
杠杆: 让定价与使用量挂钩,使基础设施成本随收入增长,而不是跑在收入前面。
每台 VPS 实例价格
您打算运行的规格的一台虚拟服务器的月价格,不含备份。
杠杆: 比较不同服务商和规格,使用一台更大的实例配合快照方案,而不是几台小实例。
运维工时价值
您自己或工程师把一小时花在服务器上而不是产品上时,这一小时的价值。
杠杆: 用一套小而可重复的配置来自动化部署、补丁和备份,让服务器时间保持在每月一两个小时左右。
VPS 上的流量占比
零表示全部运行在无服务器上,100表示全部运行在 VPS 上。用于测试切换。
杠杆: 只把稳定的高流量路由迁到 VPS,让突发的或很少使用的端点继续留在无服务器上。
如何使用本模拟器
- 1从“现实”预设开始,或输入上个月的请求数、平均执行时间和收入。
- 2查看五个多米诺框,看看是每百万请求成本还是运维时间先变红。
- 3点击“找出我的临界点”,查看在无服务器上会抹去利润的请求量。
- 4在24个月的图表上,将当前配置与全 VPS 方案进行比较,或用流量占比滑块测试部分拆分。
- 5在迁移任何东西之前,先测量一个月的真实执行时间和账单。
应避免的错误
- 只拿 VPS 价格与函数价格比较,而忽略无服务器一侧的网关、日志和带宽费用。
- 把运维工时按零估值,这会让 VPS 对一个还有其他优先事项的团队来说显得比实际更便宜。
- 假定一台 VPS 能应付任何负载,而实际上缓慢的请求和流量高峰很快就会把一台实例填满。
- 一次性迁移整个系统,而不是迁移稳定的高流量路由并让其余部分继续留在无服务器上。
常见问题
无服务器在大规模时一定更贵吗?
通常如此,但并非总是如此。突发的或不可预测的工作负载,即使在大规模时在无服务器上也可能更便宜,因为 VPS 必须按峰值来配置。稳定的高流量通常更适合固定价格的服务器。
为什么执行时间如此重要?
无服务器的计算按内存时间计费,所以运行时间翻倍,这部分账单大致也翻倍。在 VPS 上,它会使一台实例能处理的请求数减半。
我应该如何给自己的运维时间定价?
使用同一小时花在产品上能赚取的价值,或工程师含各项开销的每小时成本。如果您喜欢这项工作,并且这一小时没有更好的用途,可以使用较低的值。
VPS 上的可靠性和扩容怎么办?
单台 VPS 是单点故障,所以正规的产品会增加第二台实例或负载均衡器,本模型通过实例数量对此进行近似。请查看您的服务商提供什么。
如何找到我的利润崩溃时的请求量?
点击“找出我的临界点”。该工具会把每个输入向更差的一端移动,并报告使月利润归零的数值。
这有多准确?
这是一个使用示例性标价的教学模型,不是报价,也不构成建议。请用您的服务商当前的价格和实测的执行时间替换其中的常数。
这是一个带有明确假设的教育性规划模型,不构成财务、税务或法律建议。请将输入替换为您自己的数据,并就重要决策咨询合格的专业人士。