Vercel 的定价体系是"账号计划 + 按用量计费"混合模式,对刚上手的开发者来说,免费 Hobby 计划几乎感知不到成本;但一旦项目进入商用阶段,账单可能迅速膨胀。本文基于 Vercel 官方定价页面和大量生产项目的实际账单数据,系统性拆解三档计划、逐项分析计费项、给出真实成本估算和优化建议,让你在选型时心中有数。
一、三档计划总览
Vercel 将用户按规模和用途分成了三个明确的档位:
| 维度 | Hobby(免费) | Pro(专业版) | Enterprise(企业版) |
|---|---|---|---|
| 月费 | $0 | $20/用户/月 | 定制报价 |
| 适用对象 | 个人、非商业项目、学习/实验 | 独立开发者、小团队、生产项目 | 中大型组织、合规要求企业 |
| 并发构建 | 1 个 | 6 个 | 定制 |
| 团队成员 | 个人使用(可邀请 Guest) | 无限制 | 无限制 |
| 域名绑定 | 无限 | 无限 | 无限 |
| 优先级支持 | 社区论坛 | Email Support | 专属 Slack/工单 + SLA |
| 合规认证 | 无 | SOC2 Type 2 | SOC2、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 Pro | Netlify Pro | Cloudflare Pages | Render | Railway |
|---|---|---|---|---|---|
| 起步月费 | $20/用户 | $19/用户 | 基本免费 | $19/月 | 按用量 |
| 包含流量 | 1TB | 1TB | 无限 | 100GB(免费) | $5 额度 |
| 构建时长 | 14,400 分/月 | 25,000 分/月 | 500 次/月 | 无限 | 无限 |
| 并发构建 | 6 | 3 | — | 1 | 按付费 |
| 基于框架的 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/月买下的是开发体验 + 运维减负 + 性能优化工程,对于追求效率的团队来说,这个价格合理。
二、按用量计费项逐项拆解
Vercel 的账单由账号月费 + 超出配额后的按量计费组成。下面逐项分析每个计费项的含义、配额和实际成本。
2.1 Fast Data Transfer(数据传输 / 带宽)
这是最容易让账单失控的计费项。
| 项目 | Hobby | Pro | Pro 超出价格 |
|---|---|---|---|
| 数据传输(出网) | 1GB/月 | 1TB/月 | $0.15/GB |
| 请求数 | 无限 | 无限(但 Edge 请求单独计费) | — |
⚠️ 认知误区:
- “1TB 很大,我肯定用不完” → 如果你的站点有大量图片/视频,或部署了下载工具,1TB 很可能在一个月内耗尽
- “流量只是 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(边缘请求)
| 项目 | Hobby | Pro | Pro 超出价格 |
|---|---|---|---|
| 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(无服务器函数执行)
| 项目 | Hobby | Pro | Pro 超出价格 |
|---|---|---|---|
| 执行时间 | 100 GB-小时/月 | 1000 GB-小时/月 | $0.0001/GB-秒 |
Serverless 执行时间计算公式:
GB-小时 = 函数运行时间(秒) × 分配内存(GB) / 3600
Next.js API Route(Node.js Runtime)默认分配的内存不同区域和配置可能不同,一般在 1024MB(1GB)左右。
示例估算:
| 场景 | 单次平均耗时 | 每日调用量 | 月均 GB-小时 | 费用 |
|---|---|---|---|---|
| 轻量 API(查询数据库) | 50ms | 1K/天 | ~0.04 | $0 |
| 中等 API(聚合+计算) | 200ms | 10K/天 | ~0.56 | $0 |
| 重任务(图片处理/报表生成) | 3s | 500/天 | ~0.21 | $0 |
| 高频 API(电商下单链路) | 100ms | 100K/天 | ~2.78 | $0 |
绝大多数 SaaS 的 Serverless 执行费几乎为 0(在 1000 GB-小时内)。只有在极端场景(如定时爬虫、批量数据处理)才会接近上限。
2.4 Build Time(构建时间)
| 项目 | Hobby | Pro | Pro 超出价格 |
|---|---|---|---|
| 构建时间 | 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 其他计费项
| 项目 | Hobby | Pro | 说明 |
|---|---|---|---|
| Web Analytics | 2500 事件/月 | 10万 事件/月(需开启) | 超出后 $2/10万事件 |
| Speed Insights | 100K 次/月 | 1000万 次/月 | 性能采样分析 |
| Image Optimization | 内置但无独立计费 | 同上 | Next.js <Image> 组件自动生成多尺寸 |
| Password Protection | ❌ 不可用 | ✅ | 为预览环境加密码 |
| Preview Comments | ❌ 不可用 | ✅ | PR 上讨论预览部署 |
| SAML SSO | ❌ 不可用 | ❌ | Enterprise 才有 |
三、典型项目月度成本估算
3.1 场景一:个人技术博客
| 项目 | 指标 | 费用 |
|---|---|---|
| 计划 | Hobby | $0 |
| 月 PV | 5000 | — |
| 页面大小 | 200KB | — |
| 数据传输 | ~1GB | 在 1GB 免费额度内 |
| Edge 请求 | ~5万 | 在 100万免费额度内 |
| Serverless | 几乎为 0 | — |
| 月总费用 | $0 |
Hobby 对个人博客完全够用。如果流量增长到日均万级,可以考虑升级 Pro 获得更多安全余量。
3.2 场景二:Next.js SaaS 产品(日活千级)
| 项目 | 指标 | 费用 |
|---|---|---|
| 计划 | Pro(2 人团队) | $36/月(年付 9 折) |
| 月 PV | 30 万 | — |
| 页面大小 | 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/月 |
| 月 PV | 30 万 | — |
| 平均页面大小 | 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 有硬性要求的组织
四、账单优化建议
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_TOKEN 和 TURBO_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 是核心监控入口,应每周检查一次:
- 关注 “Data Transfer” 曲线,如果出现异常上升,检查是否有盗链或爬虫大量访问
- 关注 “Edge Requests”,如果突然飙升,检查是否有 Bot 攻击或页面循环引用
- 在 Cloudflare Dashboard 同步查看流量分布,确认 “Cache Hit Ratio” 在 80% 以上
五、升级技巧与隐藏规则
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 对教育机构和非营利组织提供折扣:
- 申请 Vercel for Education 可获 Pro 的免费额度
- 开源项目可以申请 Vercel Sponsorship,获得 Pro 功能免费使用
六、常见问题(FAQ)
Vercel 的 $20/月是按项目还是按账号?
按团队组织中的成员数。创建 Vercel Team(组织)后,每个加入团队的成员都按 $20/月计费。如果只用个人账号(Personal Account)绑定了 Pro,那就是 $20/月(单人)。
超出配额后 Vercel 会停止服务还是继续计费?
默认继续计费。Vercel 不会在配额用完后立即停止服务,而是继续按超出的用量收费。如果你想设置硬上限,需要在 Dashboard → Usage → Budget 中配置 Spend Cap,达到设定金额后停止服务(避免账单爆炸)。
⚠️ 强烈建议所有 Pro 用户在项目上线第一天就设置 Spend Cap!
Vercel 的账单是预付还是后付?
后付(月结)。每月结束后根据上月的实际用量生成账单,从绑定的信用卡扣款。如果有超量费用,次月账单会一并结算。
为什么我的账单比预期高很多?
排查顺序:
- 检查 [Dashboard → Usage] 看哪个计费项超了
- 最常见原因:数据传输超出 1TB($0.15/GB,1TB 内免费)
- 检查是否有大文件在
public/或未经优化的图片被大量访问 - 用 Cloudflare Dashboard 检查 “Top Traffic Sources”,确定是否有盗链/Bot
- 检查团队人数:是否不小心邀请了不需要的成员到 Pro Team
我可以只升级 Data Transfer 额度而不买 Pro 吗?
不可以。Vercel 的计费模型是计划绑定,无法单独购买某项额度。比如 Hobby 的 1GB 流量用完就只能升级 Pro(获得 1TB),或者减少流量消耗。
Enterprise 值得买吗?
如果你满足以下任一条件,值得联系 Vercel Sales:
- 团队 > 30 人,需要 SSO/SAML 和角色权限管理
- 对 SLA 有硬性要求(如 99.99% 可用性)
- 需要 SOC2/ISO 审计报告给大客户
- 月账单已经在 $2000+,Enterprise 的量大折扣可能比 Pro 更划算
相关阅读
- Vercel 详解:前端与 AI 应用的一站式云平台
- 用 Vercel 部署 Next.js + Postgres SaaS 实战
- Vercel 国内访问优化指南
- Vercel 与 Netlify、Render、Railway、Cloudflare Pages 对比
- Vercel Edge Functions 深度指南
- Vercel 部署故障排查
- Vercel 专题导航
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。