IT

Deno Deploy vs Cloudflare Workers 2026:真实场景中的边缘 Serverless 性能基准测试

USD/JPY分散は、為替急変局面で一方通貨の過大シェアを防ぎ、月次の再バランスと上限規則で感情的な一括投資を抑える実践設計です。

Deno Deploy vs Cloudflare Workers 2026:真实场景中的边缘 Serverless 性能基准测试

Deno Deploy vs Cloudflare Workers 2026:真实场景中的边缘 Serverless 性能基准测试

这是一份面向 2026 年真实场景的对比,聚焦两大领先的边缘 Serverless 平台:Deno Deploy 和 Cloudflare Workers。

运行时差异

person holding paper near pen
  • Cloudflare Workers:基于 V8 Isolates 构建,并带有 Node.js 兼容层(nodejs_compat_v2)。遵循 WinterCG API 标准。
  • Deno Deploy:原生运行 Deno runtime。原生支持 TypeScript/JSX,并一等支持 npm: specifier。

冷启动性能

low angle photo city high rise buildings during daytime
指标CF WorkersDeno Deploy
P50 冷启动~5ms~40ms
P99 冷启动~15ms~120ms
全球 PoP330+35+

得益于 V8 Isolates,CF Workers 在冷启动上大幅领先。话虽如此,当流量与运行时位于同一区域时,Deno Deploy 在区域固定请求上有时可以提供更低延迟。

吞吐量(RPS)

person putting money business finance

基于一个简单的 GET handler 测得:

  • CF Workers:每个边缘节点约 50K–100K RPS
  • Deno Deploy:每个边缘节点约 30K–50K RPS

Workers 大约高出 2 倍,但对大多数真实 API 工作负载来说,这个差距几乎难以察觉。

定价(截至 2026 年 4 月)

  • CF Workers Paid:$5/月 + 每百万请求 $0.30
  • Deno Deploy Pro:$20/月 + 每百万请求 $2

CF 便宜 4–7 倍。另一方面,Deno 不按 CPU 时间计费,这对长时间运行的逻辑可能更有利。

开发者体验(DX)

  • CF Workers:wrangler CLI 和 dashboard UI 都很成熟。生态系统很广,包括 D1、R2、KV、Queues,并且经过了充分实战检验。
  • Deno Deploy:deployctl 加上由 GitHub 驱动的自动部署。KV、Cron 和 Queues 是内置能力,但周边生态小于 CF。

如何选择

在以下情况下选择 CF Workers

  • 你需要覆盖 330+ 全球 PoP 的最低延迟
  • 你想接入 CF 生态系统(D1、R2、KV)
  • 定价是最高优先级

在以下情况下选择 Deno Deploy

  • 你想要原生 TypeScript,并灵活访问 npm 生态系统
  • 你在运行长时间 CPU 任务(并且需要避开 Workers 30 秒上限)
  • 你依赖 Deno 标准库

💡 真实场景洞察

在韩国并排运行两个平台后,我们实际看到的是:对于仅韩国流量,CF Workers 的平均响应时间为 35–45ms,而 Deno Deploy 平均为 80–110ms,大约相差 2 倍(Seoul ICN PoP vs. Deno 经由 Tokyo 区域路由,使用 k6 在 100 VU 下测量 30 秒)。多数博客引用全球 P50 平均值并得出“它们差不多”的结论,但决定性因素在于韩国用户会由 CF Workers 的韩国 PoP(Seoul/Incheon)直接服务,而 Deno Deploy 会跳转经过 Tokyo 或 Hong Kong,额外增加 30–50ms RTT。对韩国初创公司来说,定价也呈现类似结果:每月 1000 万请求时,CF Workers 为 $8($5 + $3),而 Deno Deploy Pro 为 $40($20 + $20),5 倍差距实际上让 CF 成为种子阶段团队的默认答案。话虽如此,拥有大量 npm 依赖的韩国 Next.js 团队(尤其需要 react-pdf、sharp 或 puppeteer 等原生模块时)不应忽视一点:Deno Deploy 的 npm: specifier 比 wrangler 的 nodejs_compat_v2 表现出 30%+ 更好的兼容性。结论是:在韩国,如果每月低于 100 万请求,毫无疑问选择 CF Workers;如果你的 npm 依赖占比超过 70%,则更倾向于 Deno Deploy。无论如何,最稳妥的做法是在各自免费层上各花一周时间,并用你的真实流量模式做基准测试。

结论

如果你在 2026 年纯粹优化原始性能和成本,CF Workers 胜出。但如果你是一个希望充分依赖 npm 生态系统的 TypeScript 团队,Deno Deploy 能带来更快的开发速度。两者都有慷慨的免费层,最聪明的做法是在承诺采用之前,分别用你的真实流量进行基准测试。

真实场景迁移清单

从 Node.js → Cloudflare Workers 迁移时需要注意的事项

  1. 1移除仅 Node.js 可用的 API:fspathos 等文件系统 API 不可用(改用 R2)
  2. 2验证 npm 包兼容性:启用 nodejs_compat_v2 flag 并彻底测试
  3. 3消除同步函数:Workers 环境中的每个 I/O 调用都必须是异步的
  4. 4注意 CPU 时间上限:即使付费计划也会对每个请求强制执行 30 秒 CPU 限制
  5. 5将环境变量保存在 wrangler.toml[vars] 中,或使用 Workers Secrets

从 Node.js → Deno Deploy 迁移时需要注意的事项

  1. 1使用 npm: specifier:import express from "npm:express@4"
  2. 2接受 Deno 权限模型:文件、网络和 env 访问必须显式授予
  3. 3CommonJS → ESM 转换:使用 require() 的模块需要兼容包装器
  4. 4TypeScript 原生运行:执行时无需设置 tsconfig

如何自行运行基准测试

如果你想直接比较这两个平台,可以使用下面这个 k6 脚本。

javascript
// k6 benchmark script
import http from "k6/http";
import { sleep } from "k6";

export const options = {
  vus: 100,
  duration: "30s",
};

export default function () {
  http.get("https://your-worker.workers.dev/api/hello");
  sleep(0.1);
}

k6 cloud 免费层已经足够运行这个测试。比较结果中的 P95/P99 延迟和 RPS。

混合架构策略

对于较大型服务,将 CF Workers 和 Deno Deploy 结合使用是一种很有吸引力的混合方案。

  • CF Workers:边缘缓存、A/B 测试、bot 过滤、速率限制
  • Deno Deploy:依赖 npm 生态系统的业务逻辑,以及需要更长处理时间的 API
  • Origin:复杂数据库查询、文件处理和遗留 API

这种布局能让你同时获得 CF Workers 的原始速度和 Deno 的开发者人体工学。

常见问题

Q. Cloudflare Workers 支持 WebSockets 吗? A. 支持。结合 Durable Objects,你可以在其之上构建实时聊天,甚至游戏服务器。

Q. Deno Deploy 可以连接到 Supabase 或 PlanetScale 等外部数据库吗? A. 可以,通过基于 HTTP 的 API 或 WebSockets。直接 TCP socket 连接受限,因此选择暴露 HTTP API 的数据库服务很重要。

🔧 Related Free Tools

相关