Hacker News 中文摘要

RSS订阅

解析Cloudflare Workers CPU性能基准测试 -- Unpacking Cloudflare Workers CPU Performance Benchmarks

文章摘要

Cloudflare Workers与Vercel的CPU性能基准测试显示前者表现较差,但两者使用相同的V8引擎,理论上性能应相近。经调查发现差异源于多个小问题,包括配置不当和测试方法问题。

文章总结

解析Cloudflare Workers CPU性能基准测试

2025年10月4日,独立开发者Theo Browne发布了一系列基准测试,旨在比较Cloudflare Workers与基于AWS Lambda的Vercel平台在服务器端JavaScript执行速度上的差异。初步结果显示,在多种CPU密集型任务中,Cloudflare Workers的性能比Vercel上的Node.js慢多达3.5倍。

这一结果令人意外,因为两者均使用相同的底层JavaScript引擎——Google Chrome的V8引擎。经过调查,Cloudflare团队发现了一系列导致性能差异的问题,包括基础设施调优不足、平台间JavaScript库的差异以及测试本身的问题。通过一周的修复,Workers的性能得到了显著提升。

主要改进点

  1. 调度算法优化
    团队发现原有的调度算法在处理CPU密集型任务时表现不佳,导致请求延迟较高。通过优化算法,Workers现在能够更高效地自动扩展,减少请求阻塞。

  2. V8垃圾回收调优
    团队调整了V8的年轻代内存大小配置,使其更适应现代工作负载,从而提升了约25%的性能。

  3. OpenNext框架优化
    针对Next.js的性能问题,团队修复了OpenNext中的多个性能瓶颈,包括减少不必要的内存分配和拷贝,优化流处理适配器等。

  4. 跨平台问题修复
    团队还发现并修复了影响其他平台的问题,例如Node.js中三角函数性能较低的问题,并向V8提交了性能优化补丁。

基准测试的局限性

尽管基准测试帮助发现了实际问题,但其本身也存在一些局限性: - 网络延迟影响:测试结果可能受到客户端与服务器之间网络延迟的影响。 - 硬件差异:不同代的CPU性能差异可能导致测试结果波动。 - 配置错误:测试中发现的Next.js和React配置错误也对结果产生了影响。

未来计划

Cloudflare计划继续优化OpenNext和调度算法,并进一步参与V8和Node.js的改进。团队鼓励开发者提供更多性能测试案例,以便持续改进。

通过这次优化,Cloudflare Workers在大多数测试场景中已与Vercel性能相当,仅在Next.js测试中仍有小幅差距,但团队预计将通过后续改进完全消除这一差距。

(注:本文保留了技术细节和关键改进点,删减了部分重复内容和宣传性语句。)

评论总结

总结评论内容如下:

  1. 对Cloudflare积极改进的肯定

    • 认为Cloudflare面对批评表现成熟,采取了建设性改进措施
      "Good writeup and very mature response to lots of criticism"
      "Well played Cloudflare"
  2. 对技术改进的具体讨论

    • 关注JSON函数性能优化等技术细节
      "improving JSON.stringify performance when you don't pass a replacer function"
    • 赞赏OpenNext等可复用改进方案
      "awesome to see improvements on the OpenNext implementation"
  3. 对Vercel和Cloudflare竞争的看法

    • 认为竞争促使产品改进
      "This shames poor performing product into action"
    • 批评Cloudflare过去不够专注导致Vercel崛起
      "vercel only exists because cf got lazy"
      "CFs docs...usually is subpar to vercel's"
  4. 对框架性能的对比

    • 指出Next.js性能问题
      "nextjs being 4 times slower latency wise"
    • 赞赏SvelteKit的性能表现
      "SvelteKit is crazy fast and Next.js is a snail"
  5. 对事件性质的评论

    • 将事件视为值得关注的行业竞争
      "Grab the popcorn, the Vercel v Cloudflare drama unfolds"