Vercel 定价与成本详解:Hobby / Pro / Enterprise 三档拆解与账单优化指南

深度拆解 Vercel 三档计费体系:Hobby 免费额度、Pro 20美元/月包含什么、Enterprise 企业版适合谁,以及数据传输、Edge 请求、Serverless 执行时间、构建时间等按用量计费项。附典型项目成本估算(博客/SaaS/企业站)和账单优化建议。

Vercel 的定价体系是"账号计划 + 按用量计费"混合模式,对刚上手的开发者来说,免费 Hobby 计划几乎感知不到成本;但一旦项目进入商用阶段,账单可能迅速膨胀。本文基于 Vercel 官方定价页面和大量生产项目的实际账单数据,系统性拆解三档计划、逐项分析计费项、给出真实成本估算和优化建议,让你在选型时心中有数。


一、三档计划总览

Vercel 将用户按规模和用途分成了三个明确的档位:

维度Hobby(免费)Pro(专业版)Enterprise(企业版)
月费$0$20/用户/月定制报价
适用对象个人、非商业项目、学习/实验独立开发者、小团队、生产项目中大型组织、合规要求企业
并发构建1 个6 个定制
团队成员个人使用(可邀请 Guest)无限制无限制
域名绑定无限无限无限
优先级支持社区论坛Email Support专属 Slack/工单 + SLA
合规认证SOC2 Type 2SOC2、ISO 27001、GDPR 等
SSO / SAML
专属支持✅(Success Manager)
自定义 SLA

1.1 关键认知:Hobby 不是"免费版社 SaaS"

Vercel 的 使用条款 对 Hobby 有明确限制:

“Hobby 计划面向个人学习和非商业项目。如果你将 Hobby 计划用于商业目的,Vercel 保留要求你升级到 Pro 的权利。”

翻译一下:

  • ✅ 个人博客、技术 Demo、开源项目、学习笔记 → Hobby
  • ✅ 初创公司 MVP 开发阶段(没有收入)→ Hobby 勉强可用
  • ❌ 有付费客户的正式产品 → 应该升级到 Pro
  • ❌ 团队多人协作 → 需要 Pro

实用建议:即使初期用 Hobby,也要在环境变量里保留一个 Plan 切换开关,确保项目随时可以无缝迁移到 Pro。

1.2 Pro 计划 “$20/用户/月” 到底贵不贵?

给出几个对比视角:

对比项Vercel ProNetlify ProCloudflare PagesRenderRailway
起步月费$20/用户$19/用户基本免费$19/月按用量
包含流量1TB1TB无限100GB(免费)$5 额度
构建时长14,400 分/月25,000 分/月500 次/月无限无限
并发构建631按付费
基于框架的 DX⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐

Vercel Pro 不算便宜,但也不算离谱。它的核心溢价在于:

  • Next.js App Router / ISR / Middleware / Edge 的一等公民支持
  • CI/CD + Preview + 团队协作的无缝体验
  • 全球 CDN 自动分发(无需额外配置 Cloudflare)

比较基准:自己运维一台 1C1G 的云服务器(AWS t3.micro 约 $8/月),但你需要自己配 Nginx、CI/CD、CDN、SSL、HTTPS 重定向、缓存策略……Vercel $20/月买下的是开发体验 + 运维减负 + 性能优化工程,对于追求效率的团队来说,这个价格合理。


1.3 Vercel 计费体系的底层逻辑

理解了三个档位的价格标签后, worth 追问一个更本质的问题:为什么 Vercel 不采用像 Cloudflare Pages 那样近乎免费的纯用量模式,也不采用像传统虚拟主机那样一刀切的套餐模式,而是选择了"基础计划 + 超量计费"的混合模型? 这一模型的设计背后,包含了产品经济学、技术架构和用户体验的多重考量。

混合计费模式的战略意图

Vercel 的计费指标大致可分为两类:

  • 刚性资源:团队席位(Seat License)、并发构建数、单构建时长上限、合规认证等。这些与组织的规模和流程深度强相关,无论流量高低都必须付费,适合用固定订阅覆盖。
  • 弹性资源:数据传输、函数执行、Edge 请求等。这些与业务实际活跃度直接挂钩,适合用按量计费精确匹配。

将两者拆开,可以让小团队和个人用户以极低门槛($0)启动项目,同时为高流量客户提供可扩展的收费路径。相比之下:

计费模型代表服务优点对开发者的缺点
纯用量计费(Pay-as-you-go)AWS Lambda、Cloudflare Workers极致灵活、起步零成本账单极度不可预测,需要专职 FinOps
纯计划计费(Tiered SaaS)Netlify Pro、传统虚拟主机账单可预测、简单资源分配僵化,容易为未使用的额度付费
计划 + 用量混合Vercel、Render兼顾可预测性与弹性需同时理解两种计费规则

为什么要区分 Edge vs Serverless?

Vercel 把函数执行拆成两条独立计费线(Edge Functions vs Serverless Functions),这在行业中并不多见。其本质原因是两者的资源调度成本结构完全不同

  • Edge Functions 运行在 Vercel Edge Network 的轻量级 V8 Isolate 上,启动时间趋近于零(<1ms),CPU 和内存受限,成本极低但单次收费额度小。Vercel 对 Edge 请求的定价策略类似于 Cloudflare Workers——用极低的边际成本换取海量调用次数,再通过基数收费。
  • Serverless Functions 运行在 AWS Lambda(或其他底层 provider)的完整容器上,冷启动成本更高(Node.js 冷启动 200-500ms),内存配置更灵活,单次执行的资源消耗更大。Vercel 对 Serverless 的计费采用 GB-秒模型,与 AWS Lambda 保持一致。

将两者分离,实质上是把不同成本结构的资源用不同的价格信号传递出去。如果一个开发者把所有逻辑都跑在 Edge 上,虽然请求数暴增,但 Vercel 的边际成本并没有线性增长;而如果把重计算任务放到 Serverless,高内存 × 长时间执行会产生真实的底层云资源消耗,按 GB-秒计费才公平。

计费粒度与行业对标

Vercel 的计费粒度算得上精细,以下是各维度的最小计量单位:

计费项Vercel 粒度AWS 对标Cloudflare 对标
数据传输按 GB按 GB按请求 / 不单独计
Edge 请求按百万次CloudFront 按 10K 请求Workers 按百万次
Serverless 执行按 GB-秒Lambda 按 GB-秒Workers 按 CPU-毫秒
构建时间按分钟CodeBuild 按分钟按构建次数

Vercel 的数据传输按 $0.15/GB 计算,与 AWS CloudFront 标准定价($0.085/GB 起,区域不同有差异)相比略贵,但 CloudFront 需要额外配置 Origin、缓存规则、SSL 证书,且没有 Next.js 原生集成优势。如果把 DevOps 人力成本折算进去,Vercel 的综合性价比对中小团队仍然更高。

一个容易被忽略的细节:Vercel 的超量定价是"惩罚性"的

Vercel Pro 包含 1TB 数据传输,超出后 $0.15/GB。乍一看与 AWS 相差不大,但如果你把"基础计划"看作一个固定成本,再把超量部分单独拎出来看,超量的边际价格实际上远高于 AWS。

例如:某个 Pro 团队月流量 2TB,总费用 = $20 + (1024GB × $0.15) = $173.6。如果纯用 AWS CloudFront + Lambda,2TB 流量可能只需要约 $120。Vercel 的溢价来自它的 DX(Developer Experience)和运维节省。对预算敏感的团队来说,在 Vercel 上跑前端,在 AWS/R2 上走后端存储,是常见的成本套利策略。

总结来说,Vercel 的计费体系是精心设计的:它用着按量计费的"外衣",收着 SaaS 订阅的"内核"。超量费用本质上是一种用钱包投票的机制——如果你的项目真的到了需要大量资源的阶段,Vercel 希望你认真评估是否继续留在这个平台上,或者采用混合架构把重资源拆出去。


二、按用量计费项逐项拆解

Vercel 的账单由账号月费 + 超出配额后的按量计费组成。下面逐项分析每个计费项的含义、配额和实际成本。

2.1 Fast Data Transfer(数据传输 / 带宽)

这是最容易让账单失控的计费项。

项目HobbyProPro 超出价格
数据传输(出网)1GB/月1TB/月$0.15/GB
请求数无限无限(但 Edge 请求单独计费)

⚠️ 认知误区

  1. “1TB 很大,我肯定用不完” → 如果你的站点有大量图片/视频,或部署了下载工具,1TB 很可能在一个月内耗尽
  2. “流量只是 HTML 文本” → Next.js 项目的 JS Bundle(/_next/static)通常 100KB-500KB/页面,加上图片,一个 PV 可能产生 1-5MB 流量

示例估算

项目类型平均页面大小日活 1K 月流量日活 10K 月流量日活 100K 月流量
个人博客(文字为主)200KB~6GB~60GB~600GB
SaaS 应用(JS 重)1MB~30GB~300GB~3TB
图片站 / 作品集5MB~150GB~1.5TB~15TB
视频/音频站50MB~1.5TB~15TB~150TB

结论:

  • 文字博客:Hobby 的 1GB 勉强够,但上 Pro 的 1TB 绝对安全
  • SaaS 应用:Pro 的 1TB 对日活万级以下够用,但监控很重要
  • 图片/视频站:不能用 Vercel 直接托管大文件,必须用 S3/R2/阿里云 OSS 等外部存储,否则账单不可控

2.2 Edge Functions(边缘请求)

项目HobbyProPro 超出价格
Edge 请求次数100 万/月2500 万/月$2.50/百万次

Edge 请求包括:

  • Next.js Middleware 执行(每次页面请求都会触发 Middleware)
  • Edge API Routes(runtime: 'edge' 的 API 请求)
  • Vercel 的 Analytics 和 Speed Insights(也会产生微量请求)

示例估算

场景月均 Edge 请求所在计划额外费用
个人博客(1000 PV/日)~3 万Hobby$0
SaaS(1万 PV/日,Middleware + API)~150 万Pro(含 2500 万)$0
高并发 API 服务(100万 PV/日)~3000 万Pro~$1.25
AI Chat(10万消息/日)~300 万Pro$0

对于大多数应用,Edge 请求基本不会产生超额费用。

2.3 Serverless Functions(无服务器函数执行)

项目HobbyProPro 超出价格
执行时间100 GB-小时/月1000 GB-小时/月$0.0001/GB-秒

Serverless 执行时间计算公式:

GB-小时 = 函数运行时间(秒) × 分配内存(GB) / 3600

Next.js API Route(Node.js Runtime)默认分配的内存不同区域和配置可能不同,一般在 1024MB(1GB)左右。

示例估算

场景单次平均耗时每日调用量月均 GB-小时费用
轻量 API(查询数据库)50ms1K/天~0.04$0
中等 API(聚合+计算)200ms10K/天~0.56$0
重任务(图片处理/报表生成)3s500/天~0.21$0
高频 API(电商下单链路)100ms100K/天~2.78$0

绝大多数 SaaS 的 Serverless 执行费几乎为 0(在 1000 GB-小时内)。只有在极端场景(如定时爬虫、批量数据处理)才会接近上限。

2.4 Build Time(构建时间)

项目HobbyProPro 超出价格
构建时间6000 分钟/月14,400 分钟/月$0.05/分钟

构建时间统计的是 Vercel 在云端运行 npm run build 的实际耗时。

示例

  • 一次 Next.js 构建:2-5 分钟(取决于项目大小)
  • 每日 10 次部署(频繁 push/PR):30-50 分钟/天
  • 月构建时间:900-1500 分钟 → Pro 的 14,400 分钟绰绰有余

什么场景会超出?

  • 超大单体项目(百万行代码):单次构建 20-30 分钟
  • 大量并行 PR 构建(团队 10 人以上同时提交)
  • 构建中集成大量重型编译(Rust/WASM、大规模图片优化)

2.5 其他计费项

项目HobbyPro说明
Web Analytics2500 事件/月10万 事件/月(需开启)超出后 $2/10万事件
Speed Insights100K 次/月1000万 次/月性能采样分析
Image Optimization内置但无独立计费同上Next.js <Image> 组件自动生成多尺寸
Password Protection❌ 不可用为预览环境加密码
Preview Comments❌ 不可用PR 上讨论预览部署
SAML SSO❌ 不可用Enterprise 才有

2.1 2025 年定价更新追踪

Vercel 的定价并非一成不变。回顾过去几年的调整,可以观察到一条清晰的趋势:免费额度逐步缩紧,增值服务持续拆分,超量计费项的颗粒度越来越细。 作为长期使用 Vercel 的团队,必须了解定价变化的规律,并提前做好迁移和锁定策略。

近期定价变化趋势

Hobby 计划的免费额度持续收紧

  • 早期 Hobby 的数据传输曾高达 100GB/月,后来被压缩到 1GB/月。这意味着任何非纯文本的个人项目,都必须时刻关注流量是否接近红线。
  • Edge 请求从早期的"几乎不设限"调整为明确的 100 万/月上限,虽然对大多数博客仍够用,但已经开始约束 Hobby 用户在高并发场景下的使用。
  • 官方明确在条款中重申:Hobby 仅面向个人学习和非商业项目。这并非法律措辞的空泛声明,Vercel 客服确实会在检测到商业流量后发送升级提醒邮件。

Pro 计划引入更多细分限制

  • 过去 Pro 的 1TB 数据传输被视为"无限",但随着客户规模扩大,1TB 在电商和视频类应用中并不充裕。
  • Serverless 函数的默认超时时间和内存上限在 Pro 中未公开承诺 SLA,实际表现可能因区域而异。Vercel 越来越倾向于引导高负载用户走向 Enterprise 定制方案。
  • Image Optimization 虽未独立计费,但已出现在 Usage Dashboard 中独立统计的趋势,未来可能成为新的收费项。

迁移策略:当定价变化时怎么办?

如果你发现自己的用量即将触及新的限制,建议按以下优先级处理:

  1. 用量分析先行:先通过 Vercel Dashboard → Usage 确认到底是哪一项在增长。不要凭猜测迁移。
  2. 架构优化优先:如果是数据传输超量,优先考虑把静态资源拆到 R2 / S3 / Cloudflare(见第四节的优化建议)。升级计划应该作为最后手段,而非第一反应。
  3. 评估竞品成本:在决定升级 Pro 或 Enterprise 前,用 Render、Railway、Netlify 的定价页做快速对标。有时候迁移成本比升级费用更低。

如何锁定旧定价

Vercel 的定价调整通常不会影响已经订阅的旧用户(grandfathering),但这个惯例并非 100% 保证。以下策略可以帮助你在一定程度上锁定成本:

  • 年付优于月付:年付合同通常在你付费的 12 个月内锁定当前价格档位。如果 Vercel 在年中调价,年付用户至少在下一次续费前不受影响。月付用户则可能在任何账单周期被新价格覆盖。
  • 尽早开通 Pro:即使当前 Hobby 够用,如果项目明显在增长,提前升级 Pro 可以让你获得 grandfather 保护。Vercel 很少对已付费用户做" rollback “式降价,但 upward adjustment 相对常见。
  • 保留用量截图:每月在 Usage Dashboard 截图保存,如果某次计费异常,这些记录是申诉的重要依据。

Vercel Pricing Calculator 的使用方法与局限性

Vercel 官方提供 Pricing Calculator 帮助估算月度成本。Calculator 的使用方法很直观:

  1. 选择计划(Hobby / Pro / Enterprise)
  2. 输入预估的团队成员数、PV、数据传输量、Edge 请求数
  3. 获得本月预估总费用

但 Calculator 有三大局限,不可盲目信任:

  1. 它假设流量均匀分布:实际流量通常有波峰波谷,突发事件(如产品被 Hacker News 推荐)可能在一天内烧掉半个月的流量。
  2. 未计入 Web Analytics、Speed Insights 等附加项:如果你的项目开启了 Analytics,Calculator 的默认估算不会自动包含这部分。
  3. 不反映真实账单周期:Vercel 按 UTC 自然月结算,而你的业务活动可能与日历月错位,导致跨月统计时出现偏差。

建议做法:将 Calculator 的输出作为基准,再额外上浮 30%-50% 作为安全余量预算。同时设置 Spend Cap(见第五节),作为最后一道防线。


三、典型项目月度成本估算

3.1 场景一:个人技术博客

项目指标费用
计划Hobby$0
月 PV5000
页面大小200KB
数据传输~1GB在 1GB 免费额度内
Edge 请求~5万在 100万免费额度内
Serverless几乎为 0
月总费用$0

Hobby 对个人博客完全够用。如果流量增长到日均万级,可以考虑升级 Pro 获得更多安全余量。

3.2 场景二:Next.js SaaS 产品(日活千级)

项目指标费用
计划Pro(2 人团队)$36/月(年付 9 折)
月 PV30 万
页面大小1MB(JS 重 + 图片)
数据传输~300GB在 1TB 内 ✅
Edge 请求~150 万在 2500 万内 ✅
Serverless 执行~100 GB-小时在 1000 GB-小时内 ✅
构建时间~1000 分钟(每日 3-5 次部署)在 14,400 内 ✅
Web Analytics开启含在 Pro 中 ✅
月总费用~$40/月

这是绝大多数 SaaS 产品的真实成本区间。比自行运维一台云服务器 + 自己配 CI/CD + CDN 要省心得多。

3.3 场景三:高并发 AI Chat 应用(日活万级)

项目指标费用
计划Pro(3 人团队)$54/月(年付)
月消息量100 万条
数据传输每条消息平均 5KB → ~5GB/月远低于 1TB ✅
Edge 请求(流式输出)300 万/月在 2500 万内 ✅
Serverless 执行(AI 调用)每条 2s × 1GB = ~555 GB-小时在 1000 GB-小时内 ✅
月总费用~$55/月

AI 应用的数据传输通常不大(文本为主),但流式响应会产生大量 Edge 请求。Pro 计划的 2500 万次通常足够。

3.4 场景四:电商/图片站(日活万级,图片多)

项目指标费用
计划Pro(5 人团队)$90/月
月 PV30 万
平均页面大小5MB(大量商品图)
数据传输~1.5TB超出 1TB → +$75
Edge 请求~50 万在配额内 ✅
Serverless~200 GB-小时在配额内 ✅
月总费用~$165/月

图片/视频站的数据传输很容易超标。必须借助外部存储(S3/R2/阿里云 OSS)+ CDN,否则 Vercel 的 $0.15/GB 会让你肉疼。改为图片走 R2 + Cloudflare,HTML/JS 走 Vercel,可以降 80%+ 成本。

3.5 场景五:企业级多项目(Vercel Enterprise)

Enterprise 没有公开定价,通常为年付 $5 万-$50 万/年不等,取决于:

  • 团队人数(通常 50+ 用户起)
  • 项目数量(单体/微前端/多站点)
  • 数据传输量(企业站通常 TB 级)
  • 合规需求(SOC2、ISO、SLA 等级)
  • 专属支持级别(TAM、Success Manager、紧急响应时间)

适合:

  • 大型电商(如 Shopify 上的 headless 前端)
  • SaaS 独角兽(多站点、多团队)
  • 金融机构(合规要求严格)
  • 对部署 SLA 有硬性要求的组织

3.6 成本对比:自建 vs Vercel vs 竞品

上文的五个场景给出了在 Vercel 体系内的费用估算。但很多团队在做技术选型时,真正想问的是:“同样的事情,我自己搭要花多少钱?换 Railway 或 Render 呢?” 本节以一个中型 SaaS(日活 1 万,月 PV 30 万,5 人团队)为例,做一份全栈 TCO(Total Cost of Ownership,总拥有成本)对比。

场景基准

指标数值
日均活跃用户10,000
月均 PV300,000
平均页面大小1MB(JS 重 + 少量图片)
月数据传输~300GB
Edge 请求 / 月~150 万
Serverless 执行~100 GB-小时
构建频率每日 3-5 次
团队人数5 人

方案一:Vercel Pro

费用项金额/月
Pro 计划(5 人,月付)$100
数据传输(300GB < 1TB)含在 Pro
Edge 请求(150 万 < 2500 万)含在 Pro
Serverless 执行含在 Pro
CI/CD、CDN、SSL、Analytics含在 Pro
月度基础设施费用$100
DevOps 维护人力~0(全自动)
年度总成本~$1,200

方案二:自建 AWS 架构

自己搭建等效服务,常见组合是:

  • EC2(应用服务器):t3.medium × 2(主备或双 AZ)
  • CloudFront(CDN)
  • Lambda(API / 后台任务)
  • Route 53(DNS)
  • ACM(SSL 证书,免费)
  • GitHub Actions / CodeBuild(CI/CD)
  • S3(静态资源)
费用项金额/月
EC2 t3.medium × 2(按需)~$60
CloudFront(300GB 流量)~$26
Lambda(轻量 API,100GB-秒级)~$5
S3 存储 + 请求~$3
Route 53~$0.50
GitHub Actions(CI/CD)~$5(免费额度内)
月度基础设施费用~$99
DevOps 维护时间每月 10-20 小时
DevOps 人力成本(按 $50/小时折算)~$500-$1,000
年度总成本$7,200-$13,200

看起来 AWS 基础设施费只有 Vercel 的一半不到,但加上人力后,自建的成本是 Vercel 的 6-11 倍

方案三:Railway / Render

费用项Railway/月Render/月
应用实例(2 vCPU / 4GB RAM)~$20~$25
数据库(Postgres)~$15~$15(免费额度可能够)
出网流量(300GB)含在计划中~$15(超出免费额度)
CI/CD含在计划中含在计划中
月度基础设施费~$35-$50~$40-$55
人力维护极低(PaaS 托管)极低

Railway 和 Render 在纯价格上比 Vercel Pro($100/月)便宜,但它们的功能覆盖面和 DX 成熟度略逊于 Vercel:

  • Railway:没有原生 Next.js App Router / ISR / Edge 的一等支持,需要自己配缓存和构建逻辑。
  • Render:冷启动时间比 Vercel 长,没有 Preview Deployment 的原生集成,CDN 性能和覆盖不如 Vercel Edge Network。

隐性成本:冷启动与用户体验

这是很多人忽略的成本。Vercel 的 Serverless Functions 虽然理论上存在冷启动,但 Next.js + Vercel Edge 的优化已经将其控制在 100ms 内。而自建 AWS Lambda 如果没有 Provisioned Concurrency,冷启动可能达到 1-3 秒。

假设你的 SaaS 有一个"注册转化漏斗”:每 100ms 的延迟提升可以带来约 1% 的转化率提升(行业公认经验值)。如果冷启动导致页面首屏延迟增加 500ms,对于日活 1 万、转化率 3% 的产品:

  • 每天潜在流失用户:~150 人
  • 若 LTV 为 $20,每月隐性的收入损失 ≈ $3,000

这个数字远远超过了任何基础设施费用的差距。这也是 Vercel 敢定价比纯 IaaS 更高的底气之一:它把性能优化做成了开箱即用的默认配置

TCO 对比总结

维度Vercel Pro自建 AWSRailway / Render
月度基础设施费$100~$99$35-$55
月度人力成本$0(内置)~$750~$50(少量配置)
隐性性能成本极低中等(需自行调优)中等
开发体验(DX)⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
上线速度分钟级天级小时级
综合年度 TCO~$1,200~$10,000+~$1,500

结论:对于日活万级的中型 SaaS,Vercel Pro 的综合 TCO 极具竞争力。只有当团队内已经有专职 DevOps、且对延迟不敏感时,自建 AWS 才可能在长周期内持平。Railway/Render 适合预算紧张、且能接受一定功能妥协的项目。


四、账单优化建议

4.1 避免数据传输爆炸

这是优化空间最大的计费项。

策略 1:图片/视频/大文件从 Vercel 剥离

不要这样:
  /public/images/hero.jpg → 走 Vercel CDN → 计流量费

应该这样:
  https://cdn.yourdomain.com/images/hero.jpg → 走 Cloudflare/R2/阿里云 CDN → 免费/极便宜

在 Next.js 中,next.config.js 配置 external image domain:

module.exports = {
  images: {
    remotePatterns: [
      { protocol: 'https', hostname: 'cdn.yourdomain.com' },
      { protocol: 'https', hostname: 'your-bucket.r2.cloudflarestorage.com' },
    ],
  },
};

策略 2:使用 Next.js Image 组件的远程加载

import Image from 'next/image';

// 图片从外部 CDN 加载,不走 Vercel 带宽
<Image
  src="https://cdn.yourdomain.com/hero.jpg"
  alt="Hero"
  width={1200}
  height={600}
  priority
/>

策略 3:开启 Vercel Edge 缓存

在 API Route 中设置正确的 Cache-Control

// edge/api/data.ts
export const config = { runtime: 'edge' };

export default async function handler(req) {
  const data = await fetchSomeData();
  return new Response(JSON.stringify(data), {
    headers: {
      'Content-Type': 'application/json',
      'Cache-Control': 'public, s-maxage=60, stale-while-revalidate=300',
    },
  });
}

这样 Cloudflare 或 Vercel Edge 会缓存响应,重复请求不再执行函数。

策略 4:纯静态资源用 Cloudflare Pages 或直接 R2

如果你的项目有大量纯静态文件(文档 PDF、下载包),不要放 public/ 目录,直接上传到 Cloudflare R2:

# 使用 wrangler 上传
wrangler r2 object put bucket-name/assets/guide.pdf --file ./guide.pdf

R2 的存储和出网流量有免费额度,即使有费用也远低于 Vercel。

4.2 减少 Edge Function 调用

策略 1:合理使用 Middleware

Middleware 在每页请求时都会执行(包括 _next/static/* 资源请求也会被匹配),过度复杂的 Middleware 会消耗 Edge 执行时间但不一定计入请求次数。关键是减少不必要的逻辑:

// middleware.ts — 只匹配需要的页面,排除静态资源
export const config = {
  matcher: [
    '/((?!api|_next/static|_next/image|favicon.ico|robots.txt|sitemap.xml).*)',
  ],
};

策略 2:把重计算逻辑放到 Serverless Functions

Edge Functions 适合轻量逻辑(路由、A/B 测试、认证检查),如果涉及数据库查询或大计算量,放到 Node.js Serverless Functions,再设置 s-maxage 让结果缓存。

4.3 控制构建时间

策略 1:优化构建速度

# next.config.js — 启用 SWC 并关闭不必要的分析
module.exports = {
  swcMinify: true,
  eslint: { ignoreDuringBuilds: true }, // CI 里单独跑 ESLint
  typescript: { ignoreBuildErrors: false }, // 保持启用,但不要等待类型检查太久
};

策略 2:使用 turbo 缓存

Vercel 支持 Turborepo 远程缓存。对于 monorepo 项目,设置 TURBO_TOKENTURBO_TEAM 环境变量后,未变化的子包会直接命中缓存,大幅缩短构建时间。

策略 3:减少不必要的构建

在 Vercel Dashboard → Git → Ignored Build Step 中设置忽略条件:

# 只在 src/ 或 packages/ 变更时触发构建
if git diff --quiet HEAD^ HEAD -- src/ packages/; then
  exit 0 # 忽略构建
fi

4.4 监控用量

Vercel Dashboard → Usage 是核心监控入口,应每周检查一次:

  1. 关注 “Data Transfer” 曲线,如果出现异常上升,检查是否有盗链或爬虫大量访问
  2. 关注 “Edge Requests”,如果突然飙升,检查是否有 Bot 攻击或页面循环引用
  3. 在 Cloudflare Dashboard 同步查看流量分布,确认 “Cache Hit Ratio” 在 80% 以上

4.5 团队级成本治理

当组织内有多个项目、多个团队共用 Vercel 时,单靠个人的用量监控是不够的。你需要建立一套组织级的成本治理机制,把云支出纳入可管理的轨道。

设置组织预算与 Spend Cap

Vercel Teams 本身提供基础的预算管理功能:

  • Dashboard → Team Settings → Usage → Budget:可以为整个 Team 设置月度预算上限。
  • Spend Cap:这是最关键的功能。当总费用(含超量计费)达到设定的 Cap 值时,Vercel 会停止服务的计量计费。注意:Spend Cap 不会立即断开用户访问,但超量部分的资源会被限制。

Spend Cap 配置最佳实践

  1. 初始设置为预期月均费用的 2 倍(给突发流量留余量)
  2. 三个月后根据实际账单调整为 1.5 倍
  3. 大促/活动前临时上调,活动结束后恢复
  4. 绝对不要设置无 Cap,除非你的业务已经大到 $2,000+/月 且进入 Enterprise 谈判阶段

多项目的成本分摊策略

如果你的组织在一个 Vercel Team 下维护了多个项目(如官网、博客、SaaS 主站、文档站),建议按以下方式分摊和追踪成本:

  1. 项目级隔离:为每个业务线创建独立的 Vercel Project。虽然它们共用同一个 Team 的计费池,但 Usage Dashboard 支持按项目筛选,便于归因。
  2. 环境级标记:通过环境变量为不同环境的构建打上标签,例如 COST_CENTER=marketingCOST_CENTER=product。虽然 Vercel 没有原生成本标签系统,但你可以在内部的费用分摊表中手动映射。
  3. 独立 Team 隔离:如果不同业务线的预算审批流程完全不同(例如市场部和技术部各自有预算),建议拆分到独立的 Vercel Teams。虽然每个 Team 的基础费用是重复的($20/人/月),但避免了预算纠缠和审批摩擦。

成本异常告警机制

Vercel 本身不提供自动告警(截至 2025 年),但你可以通过以下方式搭建告警体系:

方案 1:用量周报(推荐)
每周一通过 Vercel REST API 拉取上周各项目的用量数据:

# 需要 Vercel Access Token
curl -H "Authorization: Bearer $VERCEL_TOKEN" \
  "https://api.vercel.com/v2/teams/{team_id}/projects/{project_id}/usage" \
  --gzip

然后用 Python/Node.js 脚本对比上周数据,如果增长率超过 50%,自动发送到 Slack 或企业微信群。

方案 2:账单日自动对比
在每月账单生成日(Vercel 通常是月初),用脚本提取上月的 total cost,与上上月的 cost 做环比。如果增幅超过 200%,立即触发告警。

一个简单的告警阈值参考:

指标告警阈值说明
数据传输周环比增长> 100%可能被盗链或页面 size 暴涨
Edge 请求突增> 200%可能是 Bot 攻击
Serverless 执行时间突增> 300%可能有死循环或 N+1 查询
构建时间周环比增长> 150%项目依赖膨胀或构建缓存失效

月度成本审查会议清单

对于投入在生产环境的团队,建议每月举行一次 15 分钟的"云成本站会":

  • 上月总费用 vs 预算,偏差原因
  • 各项目费用占比,是否有异常波动
  • 数据传输 Top 3 来源,是否有优化空间
  • Edge 请求和 Serverless 用量趋势,是否需要架构调整
  • 团队成员变动:是否有人加入/离开,席位费用是否同步调整
  • 下月预期费用(是否有大促、发布、营销活动)
  • Spend Cap 是否需要调整

这个会议不需要很多人参加,Team Lead + 1 名 Developer 即可。关键是养成定期审视云支出的习惯,而不是等账单爆炸后才被动反应。


五、升级技巧与隐藏规则

5.1 年付 vs 月付

  • Vercel Pro 年付约为 9 折(即 $216/年 = $18/月)
  • 月付更灵活,年付更便宜。不确定用多久先选月付,稳定后用年付

5.2 邀请 Guest vs 付费成员

  • Hobby 计划可以邀请 Guest(外部协作者,只能访问特定项目)
  • Pro 计划每个付费成员都可以访问组织下的所有项目
  • 小团队技巧:核心开发 2-3 人付费用 Pro,其他成员用 Guest 访问,减少人数成本

5.3 多账号组合(不推荐但可行)

有些开发者用多个人账号的 Hobby 计划分摊不同项目,这违反 Vercel 的服务条款。被检测到可能导致账号封禁。正式项目请直接购买 Pro。

5.4 教育/开源折扣

Vercel 对教育机构和非营利组织提供折扣:

5.5 Enterprise 谈判指南

如果你的团队月账单已经超过 $2,000,或者团队规模达到 50+ 人且需要 SSO、SLA 和专属支持,是时候考虑 Enterprise 了。与大多数 SaaS 不同,Vercel 的 Enterprise 定价不透明,需要通过 Sales 团队定制报价。以下是谈判的核心策略和注意事项。

如何联系 Vercel Sales

  1. 在 Vercel Dashboard 中点击"Contact Sales",或直接访问 vercel.com/contact
  2. 填写公司信息、团队规模、项目数量、当前月用量
  3. 通常在 1-3 个工作日内会有 AE(Account Executive)联系你

谈判前的数据准备

  • 过去 3-6 个月的 Usage Dashboard 截图(特别是 Data Transfer、Edge Requests、Build Time)
  • 团队当前和未来 12 个月的人员增长计划
  • 合规需求清单(SOC2 Type 2、ISO 27001、GDPR、HIPAA 等)
  • SLA 要求(99.9% 还是 99.99%)
  • 竞品报价(如果有 Netlify Enterprise 或 Cloudflare Enterprise 的报价,可以作为谈判筹码)

Enterprise 报价的构成要素

Vercel Enterprise 的报价通常由以下几个模块组成:

模块说明谈判空间
用户席位数需要 Pro/Enterprise 功能的成员数可以按实际活跃用户计费,而非总成员
数据传输承诺承诺的月流量(如 5TB、10TB、50TB)承诺量越大,单价越低
Edge 请求承诺承诺的月均 Edge 请求数可以与数据传输打包谈判
Serverless 执行配额GB-小时或 vCPU-小时承诺通常按实际用量弹性计费
SLA 等级99.9% / 99.95% / 99.99%更高 SLA = 更高溢价
专属支持级别TAM / Success Manager / 紧急响应时间可以降配到 Email + Slack
合规认证包SOC2、ISO、GDPR 审计报告通常包含在基础包内
上线护航(Onboarding)专属工程师协助迁移通常前 3 个月免费

Committed Use Discount(承诺使用量折扣)谈判策略

Enterprise 计价中最大的优惠空间来自 CUD:

  • 月度承诺:承诺每月至少消费 $X,获得 Y% 折扣。适合用量稳定的团队。
  • 年度承诺:承诺 12 个月总消费不低于 $X,获得更高折扣(通常 15%-25%)。适合对下一年增长有明确预期的团队。
  • 阶梯定价:承诺量分档(如 0-10TB、10-50TB、50TB+),每档单价不同。适合用量快速增长但不确定终值的团队。

谈判技巧

  1. 不要接受第一个报价:Vercel Sales 的第一轮报价通常有 20-30% 的下浮空间。
  2. 用竞品施压:如果你有 Cloudflare Pages Enterprise 或 Netlify Enterprise 的报价,明确告诉 AE。Vercel 在 Enterprise 层面的竞争非常激烈,愿意匹配或超越竞品条件。
  3. 分阶段承诺:如果对未来用量不确定,承诺一个较低的起步额度,并约定 6 个月后重新评估。避免在用量未验证前签下大额的年度承诺。
  4. 要求"True-up"条款:如果实际用量超出承诺量,超量部分是否按同等单价计费,还是按更高的惩罚性单价计费。争取让超量部分也享受承诺单价。

Enterprise 合同关键条款审查清单

签署 Enterprise 合同前,务必让法务或技术负责人审查以下条款:

  • 自动续约:合同是否默认自动续约?提前多久可以发出不续约通知?
  • 价格调整权:Vercel 是否保留在合同期内单方面调价 10%-15% 的权利?
  • 用量超额处理:超出承诺量后,是按继续滚动计费还是立即限制服务?
  • 数据归属与迁移:合同终止后,数据保留期多久?能否免费导出?
  • SLA 赔偿:如果可用性未达标,赔偿方式是账单折扣还是现金退还?有上限吗?
  • 不可抗力排除:哪些情况(DDOS、第三方云故障)被排除在 SLA 之外?
  • 最小承诺的灵活性:如果团队裁员或项目下线,承诺量是否可以按比例下调?
  • 专属支持响应时间:P0(生产宕机)的 SLA 响应时间是多少分钟?是"首次回应"还是"问题解决"?

什么时候才应该真正购买 Enterprise?

Enterprise 不是"大号的 Pro"。以下情况证明你确实需要它:

  • 团队人数 > 50,且需要 SAML SSO 和细粒度角色权限(RBAC)
  • 月账单已经在 $3,000+,CUD 折扣能让总成本低于 Pro 的按量叠加
  • 客户合同中要求你的托管平台具备 SOC2 Type 2 或 ISO 27001 认证
  • 无法接受"支持工单排队",需要专属 Slack Channel 和 15 分钟内的 P0 响应
  • 需要自定义部署区域(如仅限中国区 Edge Node)或专属容量预留

如果你的月账单只有 $500-$1,500,即使团队人数到了 30 人,先优化架构降低用量,再考虑 Enterprise。过早购买 Enterprise 的很多企业,最终发现 80% 的 Enterprise 功能从未被启用。


六、常见问题(FAQ)

Vercel 的 $20/月是按项目还是按账号?

团队组织中的成员数。创建 Vercel Team(组织)后,每个加入团队的成员都按 $20/月计费。如果只用个人账号(Personal Account)绑定了 Pro,那就是 $20/月(单人)。

超出配额后 Vercel 会停止服务还是继续计费?

默认继续计费。Vercel 不会在配额用完后立即停止服务,而是继续按超出的用量收费。如果你想设置硬上限,需要在 Dashboard → Usage → Budget 中配置 Spend Cap,达到设定金额后停止服务(避免账单爆炸)。

⚠️ 强烈建议所有 Pro 用户在项目上线第一天就设置 Spend Cap!

Vercel 的账单是预付还是后付?

后付(月结)。每月结束后根据上月的实际用量生成账单,从绑定的信用卡扣款。如果有超量费用,次月账单会一并结算。

为什么我的账单比预期高很多?

排查顺序:

  1. 检查 [Dashboard → Usage] 看哪个计费项超了
  2. 最常见原因:数据传输超出 1TB($0.15/GB,1TB 内免费)
  3. 检查是否有大文件在 public/ 或未经优化的图片被大量访问
  4. 用 Cloudflare Dashboard 检查 “Top Traffic Sources”,确定是否有盗链/Bot
  5. 检查团队人数:是否不小心邀请了不需要的成员到 Pro Team

我可以只升级 Data Transfer 额度而不买 Pro 吗?

不可以。Vercel 的计费模型是计划绑定,无法单独购买某项额度。比如 Hobby 的 1GB 流量用完就只能升级 Pro(获得 1TB),或者减少流量消耗。

Enterprise 值得买吗?

如果你满足以下任一条件,值得联系 Vercel Sales:

  • 团队 > 30 人,需要 SSO/SAML 和角色权限管理
  • 对 SLA 有硬性要求(如 99.99% 可用性)
  • 需要 SOC2/ISO 审计报告给大客户
  • 月账单已经在 $2000+,Enterprise 的量大折扣可能比 Pro 更划算

Hobby 项目被 Vercel 要求升级的真实案例

2024 年,一位独立开发者在 Reddit 分享了自己的经历:他用 Hobby 计划部署了一个开源的 AI 图片生成工具,由于项目在 Product Hunt 上获得推荐,单日流量暴涨至 50 万 PV。三天后,他收到了 Vercel 的邮件:

“Your usage exceeds the intended scope of the Hobby plan. Please upgrade to Pro within 7 days or your deployments may be paused.”

这位开发者在升级 Pro 后查看账单,发现那三天内数据传输量达到了 1.2TB,按 Pro 的超量计费会被收取约 $30,但 Hobby 的 1GB 免费额度根本无法覆盖。Vercel 的做法实际上避免了用户产生巨额账单后才得知。

经验教训

  1. Hobby 的流量限制不是摆设,商业流量一旦暴增就会触发审查
  2. 即使是"免费版开源工具",如果被大量商业用户使用,也可能被认定为商业用途
  3. 建议在项目主页加上"Powered by Vercel"标识但绝不代表获得了无限免费额度
  4. 预期到流量可能暴增的项目,应该在上线前就在 Dashboard 中设置好升级路径和 Spend Cap

如何追踪具体页面/路由的资源消耗?

Vercel Dashboard → Usage 只提供项目级的聚合数据,无法直接看到"哪个页面消耗了最多流量"。要追踪路由级消耗,需要借助以下工具:

方案 1:使用 Vercel Analytics
启用 Vercel Analytics 后,可以在 Dashboard 中看到各页面的访问量、加载性能以及大致的资源消耗。Pro 计划包含 10 万事件/月的免费额度,对于追踪路由级数据基本够用。超出后 $2/10 万事件,性价比尚可。

方案 2:日志分析
在 Vercel Functions 中使用自定义日志,记录每个请求的 URL + 响应大小 + 执行时间:

export default function handler(req, res) {
  const start = Date.now();
  // ... 业务逻辑
  const duration = Date.now() - start;
  const responseSize = JSON.stringify(data).length;
  console.log(JSON.stringify({
    route: req.url,
    method: req.method,
    duration,
    responseSize,
    timestamp: new Date().toISOString(),
  }));
}

将日志导入 Datadog / Loki / CloudWatch 后,按 route 字段聚合,就能得出哪个端点消耗最多资源。

方案 3:Cloudflare 日志
如果你的域名解析经过 Cloudflare,可以在 Cloudflare Analytics 中按 URL 路径查看请求数和带宽消耗。这是目前最省心的路由级监控方案。

Vercel Analytics 的额外费用详解

Vercel Analytics 是一个独立的附加服务,在 Pro 中已经包含一定额度,但超出后会产生额外费用:

指标Hobby 额度Pro 额度超出价格
Analytics Events2,500/月100,000/月$2/100,000 事件

什么算作一个"Event"?

  • 页面浏览(Page View)
  • Web Vitals 采样(每次页面加载时 LCP、FID、CLS 的采样上报)
  • 自定义事件(如果你手动调用 va.track()

是否值得开启?

  • 对于 SEO 敏感站点:值得。Vercel Analytics 提供比 Google Analytics 更精确的 Core Web Vitals 数据。
  • 对于内部工具:不值得。内部工具的访问量通常不需要精细的性能采样。
  • 成本控制技巧:在 next.config.js 中调整采样率,降低事件上报频率。

关闭方法:Dashboard → Analytics → 选择项目 → Disable。但已上报的事件数据会被保留,关闭后只是停止新采样。

Pro 计划取消/降级策略

如果你决定不再使用 Vercel Pro,或想从 Pro 降级回 Hobby,需要注意以下规则:

取消路径

  1. Dashboard → Team Settings → Billing → Cancel Plan
  2. 取消后,当前付费周期的剩余时间不会退款,但下一个周期不再计费
  3. 取消后,项目不会立即被删除,但如果资源超出 Hobby 额度,功能会被限制

降级回 Hobby 的注意事项

  • 如果你在 Pro 期间开启了 Password Protection、Preview Comments 等功能,降级后这些功能会被禁用,相关配置不会丢失但不再生效
  • Pro 期间生成的 Build Cache 可能失效,降级后首次构建时间会变长
  • Analytics Event 额度会从 10 万降至 2,500/月,之前采集的数据仍可查看,但不再采集新事件

数据备份
在降级前,建议导出以下数据:

  • Deployment 历史(虽然项目保留,但旧部署可能被清理)
  • Environment Variables(建议提前复制到本地密码管理器)
  • Analytics 数据(Dashboard 中的 Web Vitals 报告截图保存)

临时降级策略
如果你的项目只是季节性空闲(例如活动网站只在季度末运行),可以选择 Pro 月付,在淡季取消,旺季重新开通。虽然会有几天的不便,但对于预算紧张的小团队来说是一种务实的灵活策略。

相关阅读

继续阅读

探索更多技术文章

浏览归档,发现更多关于系统设计、工具链和工程实践的内容。

全部文章 返回首页

「saas」更多文章

  1. 短链接对 SEO 的影响与优化最佳实践
  2. UTM 参数 + 短链接:追踪每一条营销链路
  3. 私域流量运营中的短链接策略:从引流到转化