Summary

  • Fastly 今年四月宣布取消按内存占用与运行时长计算的 Compute 费用。当前公开价格只列请求数与实际消耗的 vCPU 毫秒。
  • 每月前 1000 万次请求、前 1 亿 vCPU 毫秒分别免费;首个付费区间分别为每百万次请求 0.50 美元、每百万 vCPU 毫秒 0.05 美元。
  • 可复用沙箱一次仍只处理一个请求。请求等待异步任务时,沙箱不会接下一单;新请求会启动另一个沙箱。

有些账单像电表,有些更像门口的计数器。Fastly Compute 现在两种都摆着:请求进来一次,记一次;代码消耗处理器时间,再记 vCPU 毫秒。过去还有第三只表,按分配内存与实际经过时间的乘积计算时长。Fastly 四月宣布拆掉它;现行公开价格页也只列前两项。

两只表的免费额度彼此独立。每月前 1000 万次 Compute 请求免费,超出后的首个区间每百万次 0.50 美元。每月前 1 亿 vCPU 毫秒免费,超出后的首个区间每百万毫秒 0.05 美元。轻量但频繁的函数,可能先走完请求额度;调用少而计算重的函数,则可能先踩到 vCPU 阈值。把这两项压成一个“平均调用成本”,会遮住哪只表正在转。

被拆掉的时长表有实在的好处。函数发出请求后等待外部服务,不再因为等待本身积累旧式内存乘时长费用。但 Fastly 的沙箱说明书写得很清楚:即便在异步等待,可复用沙箱仍专属于当前请求。另一请求此时抵达,平台会另开沙箱。一个请求不吃多少 CPU,不等于它让出了执行位置。

这正是市场卖点与运营责任的分界。开发团队可以优化代码,压低 vCPU 消耗;也可以启用沙箱复用,减少重复初始化。Fastly 同时说明,复用不会改变请求如何计数,而且同一沙箱不能并发接两单。若外部依赖变慢,未完成请求可能积在系统里。账单少了一项旧时长费用,团队仍要理解同时在途的请求如何占位。

Fastly Go SDK 提供 GetVCPUTime,适合比较程序内部不同操作的相对耗时。官方提醒,不同运行或构建落在不同平台时,绝对读数不必收敛。一次基准测试因此无法替某个客户算出月账单。实际请求量、vCPU 消耗、并发等待与账户条款,才会给这张价目表填上具体金额。

Fastly 已经明确了它要卖什么:请求到达与活跃计算。空等的旧租金被拿掉,请求占着沙箱这件事却还在。只盯着 CPU 曲线的团队,很容易漏掉门口的人数和屋里的空位。

Sources