写点什么

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

  • 2015-04-29
  • 本文字数:989 字

    阅读完需:约 3 分钟

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 读者交流群)。

2015-04-29 09:068277
用户头像

发布了 63 篇内容, 共 136.8 次阅读, 收获喜欢 38 次。

关注

评论

发布
暂无评论
发现更多内容

k8s client-go源码分析 informer源码分析(5)-Controller&Processor源码分析

良凯尔

云原生 Kubernetes, 云原生, eBPF Client-go

【译】别用大炮打蚊子—ServiceMesh的替代方案

九零后程序员

nginx Service Mesh 网络 security 服务网格

OpenHarmony/HarmonyOS路由跳转并传值

坚果

OpenHarmony 6 月 优质更文活动

【Netty】「项目实战」(一)如何构建多客户端聊天室

sidiot

Java 后端 Netty 6 月 优质更文活动

强化学习从基础到进阶-案例与实践[4]:深度Q网络-DQN、double DQN、经验回放、rainbow、分布式DQN

汀丶人工智能

人工智能 深度学习 强化学习 DQN 6 月 优质更文活动

强化学习从基础到进阶-案例与实践[4.1]:深度Q网络-DQN项目实战CartPole-v0

汀丶人工智能

人工智能 深度学习 强化学习 DQN 6 月 优质更文活动

Linux 中的密码生成器:如何在命令行中生成随机密码

wljslmz

Linux 6 月 优质更文活动

如何在Cisco设备上停止Traceroute或Ping?

wljslmz

网络工程师 6 月 优质更文活动

方言语音数据在方言语音识别中的关键作用

数据堂

k8s client-go源码分析 informer源码分析(4)-DeltaFIFO源码分析

良凯尔

容器 云原生 client Kubernetes, 云原生, eBPF Client-go

基于Linux设计的倒车雷达系统

DS小龙哥

6 月 优质更文活动

Kubernetes CNI 网络模型及常见开源组件

穿过生命散发芬芳

cni 6 月 优质更文活动

Nautilus Chain:模块化Layer3架构为RWA赛道构建基础设施

股市老人

数据基建:埋点体系从认知到解决方案搭建

小鲸数据

埋点 用户行为分析 精细化运营 埋点框架 埋点设计

车载语音数据的重要性及关键技术:打造智能驾驶的人机交互体验

数据堂

挖掘中国方言语音数据的重要性与应用

数据堂

k8s client-go源码分析 informer源码分析(6)-Indexer源码分析

良凯尔

云原生 Kubernetes, 云原生, eBPF Client-go

Nautilus Chain:模块化Layer3架构为RWA赛道构建基础设施

BlockChain先知

模块五作业:微博发评论高性能高可用架构

家有两宝

#架构训练营

探索中国方言多样性:中国方言数据库的重要性与应用

数据堂

Nautilus Chain:模块化Layer3架构为RWA赛道构建基础设施

西柚子

Python潮流周刊#8:Python 3.13 计划将解释器提速 50%!

Python猫

Python

C语言字符串的常用操作

芯动大师

C语言 字符串数组 6 月 优质更文活动

【Netty】「萌新入门」(五)Pipeline 与 ChannelHandler

sidiot

Java 后端 Netty 6 月 优质更文活动

强化学习从基础到进阶-常见问题和面试必知必答[4]::深度Q网络-DQN、double DQN、经验回放、rainbow、分布式DQN

汀丶人工智能

人工智能 深度学习 强化学习 DQN 6 月 优质更文活动

2015年度Web框架性能基准测试_Java_Abel Avram_InfoQ精选文章