2015 年度 Web 框架性能基准测试

  • Abel Avram
  • 刘振涛

2015 年 4 月 29 日

话题:JavaWeb框架JavaScriptC++DevOpsNode.js

InfoQ 曾在 2014 年发布过来自TechEmpower公司的各大 web 框架性能基准测试结果,测试囊括了大部分 web 平台和微框架。近日,他们公布了一组新的测试结果,排名前 10 名的框架性能相较首轮测试均有显著提升。接受最快 web 框架的挑战后,133 名贡献者共提交了 2835 个 git commits,其中一些框架设法大幅提升每秒响应的次数(RPS),其它框架也都有长足进步。

本年度的测试基准数据如下:125 个 web 框架在两种配置的硬件环境中进行测试,分别是 Xeon E5(与去年一致)和 Amazon C3 Large(一个运行在 EC2 上的 Xeon E5-2680- 双核 CPU 处理器,去年是 M1 Large);所有测试都在 Linux 中运行。一次基准测试要执行如下请求:一条“Hello World!”JSON 文本数据数据库单行数据数据库多行数据数据库全部数据更新数据库数据一条“Hello World!”纯文本数据。每一个 web 框架对不同种类请求的响应性能皆有不同,下面列出了前 10 名框架和一些能够响应 JSON 请求的知名框架。

通过观察数据我们得出如下结论:

  • 相同测试环境下,今年性能最高的框架每秒响应的请求数是去年的两倍,RPS 从 105 万提升至 220 万。
  • 性能最高的是一个新的 web 框架:LWAN
  • 前 10 名框架通过 C、C++、Java 进行开发。
  • 在 Dell Xeon E5 和 C3 Large EC2 上的运行测试的结果有显著不同,我们预计 Dell Xeon E5 的性能会更好,但性能差距到不了 25 倍。
  • 两种配置的硬件环境中的前 10 名不太一样。
  • 在 C3.Large EC2 上拔得头筹的是一款不太出名的新框架:Ur/Web,它是用 Ur 语言编写的,Ur 语言借鉴了 ML 和 Haskell 的灵感并在速度上做了优化。
  • 一些框架去年进步很大,还有一些基本上原地踏步。Go 和 Node.js 去年都在前 10 名中,今年他们分别位于第 19 位和第 37 位。
  • Dart 的 RPS 由 54896 飞跃至 243999,但它仍处于第 33 位。

如果你特别喜爱某些框架并愿意提升它们的性能,欢迎提交 pull requests 参与贡献。源代码和需求页面提供了每种测试的执行细节以及其它相关信息,各种 Web 框架性能对比页面提供了更多有关如何进行测试的细节与测试基准的概况。

查看英文原文:Web Frameworks Benchmark 2015


感谢邵思华对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

JavaWeb框架JavaScriptC++DevOpsNode.js