转载

TechEmpower 框架性能测试数据 - 新解读 原 荐

罗格林的个人空间 工作日志

正文

TechEmpower 框架性能测试数据 - 新解读 原 荐

TechEmpower 框架性能测试数据 - 新解读

TechEmpower 框架性能测试数据 - 新解读 原 荐
  罗格林 发布于 昨天 19:40

字数 853

阅读 132

收藏 0

Benchmark Spring ActFramework Framework

面试了阿里、美团与滴滴后,我有了几个重大发现…>>> TechEmpower 框架性能测试数据 - 新解读 原 荐

1. TechEmpower Framework Benchmark 介绍

TechEmpower 框架性能大比拼平台 从 2013 年 3 月开始以来已经历经了 18 轮测试,参与这个平台的框架平台产品也从 一开始的 24 种 增加到 今天的 659 种 ! 可以说这个平台已经是业界的标准性能测试平台,在 Web 框架性能测试领域的地位大概能和 PassMark 在 CPU 性能测试领域的地位相当.

TechEmpower 自身提供的棒图直观地呈现框架的 Throughput (吞吐量, 即每秒处理请求数): TechEmpower 框架性能测试数据 - 新解读 原 荐

而 TechEmpower 在测试过程中还收集了其他类型的数据,包括:

  • Latency (时延 - 从发起请求到收到响应的平均时间)
  • Memory (内存占用)
  • CPU (CPU 占用百分比)

2. TFB VIS 可视化网站

最近出现了一个新网站提供了另外几个数据的可视化呈现: https://ajdust.github.io/tfbvis/

这个网站打开是这样的:

TechEmpower 框架性能测试数据 - 新解读 原 荐

默认排序是吞吐量,但可以通过点击列标题下面的空白部位切换排序列,比如点击红色箭头指向部位按照时延排序:

TechEmpower 框架性能测试数据 - 新解读 原 荐

可以选择不同的 TFB 测试项目:

TechEmpower 框架性能测试数据 - 新解读 原 荐

选择显示的框架:

TechEmpower 框架性能测试数据 - 新解读 原 荐

遗憾的是目前该页面只能支持两个过滤条件:

TechEmpower 框架性能测试数据 - 新解读 原 荐

3.ActFramework vs. Spring Framework

下面我们就来看看 Spring 和 Act 这两种框架的各方面对比:

3.1 JSON 测试

TechEmpower 框架性能测试数据 - 新解读 原 荐

为了方便大家理解,这里解释一下图示的数据 (下面的图示就省去解释了):

框架 吞吐量 时延 内存占用 CPU 占用
Act 1022k 0.52ms 2G 53%
Spring 130K 5.29ms 6G 61 %

总结: 没有涉及数据库的情况下, Spring 比 Act

  • 占用 3 倍的内存
  • 吞吐量大约为 1/8
  • 平均时延是 10 倍

3.2 Fortune 测试

TechEmpower 框架性能测试数据 - 新解读 原 荐

总结: 在有数据库和后端页面生成的情况下, Spring 比 Act:

  • 占用 3 倍内存
  • 吞吐量大约为 1/7
  • 平均时延大约为 5 倍

3.3 Query 测试

TechEmpower 框架性能测试数据 - 新解读 原 荐

总结: 在多次查询(每个请求过程中处理查询数据库 20 次)的情况下, Spring 比 Act:

  • 占用 3 倍内存
  • 吞吐量大约为 1/5 到 1/2 (Spring WebFlux 在这个测试表现较好)
  • 平均时延大约为 3 到 8 倍

3.4 Update 测试

TechEmpower 框架性能测试数据 - 新解读 原 荐

总结: 在多次更新(每个请求过程中更新数据库 20 次)的情况下, Spring 比 Act:

  • 占用 3 被内存
  • 吞吐量与平均时延和 Act 相当 (Spring WebFlux 在这个测试表现较好)

3.5 DB 测试

TechEmpower 框架性能测试数据 - 新解读 原 荐

总结: 在单次查询(每个请求处理过程查询数据库 1 次)的情况下, Spring 比 Act:

  • 占用 3 倍内存
  • 吞吐量为 1/2 到 1/5
  • 平均时延大约为 3 到 10 倍

4. 大侠请票我

看到这里可能有同学会情不自禁地问,用 ActFramework 写这种高效的应用可能会比较麻烦吧. 实际情况完全相反哦, 看看 ActFramework QQ 群友的声音:

TechEmpower 框架性能测试数据 - 新解读 原 荐 TechEmpower 框架性能测试数据 - 新解读 原 荐 TechEmpower 框架性能测试数据 - 新解读 原 荐

最后就向各位看官提个小小的请求了: 大侠请票我!

TechEmpower 框架性能测试数据 - 新解读 原 荐

© 著作权归作者所有

打印

上一篇: "轻"量级 Java Web 服务框架漫谈

下一篇: ActFramework 入门指南

罗格林

TechEmpower 框架性能测试数据 - 新解读 原 荐
TechEmpower 框架性能测试数据 - 新解读 原 荐

开源项目作者

作为一个开源项目作者,是时候站出来拯救世界了!

领取条件:开源项目被开源中国收录的开发者可领取

TechEmpower 框架性能测试数据 - 新解读 原 荐
TechEmpower 框架性能测试数据 - 新解读 原 荐

初出茅庐

我们都是从 Hello World 开始的!

领取条件:技能积分大于 200,且被推荐的博客数量大于 3 篇。

TechEmpower 框架性能测试数据 - 新解读 原 荐
TechEmpower 框架性能测试数据 - 新解读 原 荐

Gitee 达人

我的开源软件已入驻码云 Gitee,快来看看吧!

领取条件:开源软件使用码云 Gitee 源码地址

粉丝 328

博文 47

码字总数 50305

作品 4

其他

架构师

提问

加载中

评论( 1 )

TechEmpower 框架性能测试数据 - 新解读 原 荐
Artlongs

昨天 19:46

Act 不论从表现力,还是性能一直都优秀的1哥。

删除一条评论

评论删除后,数据将无法恢复

取消

确定

相关文章 最新文章

Web 框架性能排行榜,cakePHP 表现最差

摘要:作为开发人员,你们有讨论过框架对项目的影响吗?一家名为TechEmpower的外包公司对当前流行的各种Web框架进行了测试。 一个框架对网站性能会产生多大影响呢?答案或许会让你大吃一惊。...

南湖船老大

2013/03/30

23.9K

54

TechEmpower 关于 ASP.NET Core 的性能测试

应用性能直接影响到托管服务的成本,因此公司在开发应用时需要格外注意应用所使用的Web框架,初创公司尤其如此。此外,糟糕的应用性能也会影响到用户体验,甚至会因此受到相关搜索引擎的降级...

王练

2016/11/23

3.8K

12

TechEmpower最新一轮的性能测试出炉,ASP.NET Core依旧表现不俗

关于本轮测试的详细数据请参阅:https://www.techempower.com/blog/2018/10/30/framework-benchmarks-round-17/ https://www.techempower.com/benchmarks/#section=data-r17&hw=ph&test=plai......

dotNET跨平台

2018/11/06

0

0

TechEmpower 框架性能测试数据 - 新解读 原 荐
Web Framework 的速度与激情 16 正式上映

我们在 TechEmpower Framework Benchmarks 项目 5 周年之际发布了新一轮测试报告: Round 16. 这一轮对于那些稀饭大数字的人具有相当吸引力. 我们这里说的可不仅仅是每秒吞吐量(有些数字已经大...

罗格林

2018/06/11

0

0

Web Framework 的速度与激情 16 正式上映

我们在 TechEmpower Framework Benchmarks 项目 5 周年之际发布了新一轮测试报告: Round 16. 这一轮对于那些稀饭大数字的人具有相当吸引力. 我们这里说的可不仅仅是每秒吞吐量(有些数字已经大...

罗格林

2018/06/11

4.1K

13

没有更多内容

加载失败,请刷新页面

加载更多
Spring Security 实战干货:动态权限控制(上)思路

1. 前言 欢迎阅读 Spring Security 实战干货系列文章 。截止目前已经对 基于配置 和 基于注解 的角色访问控制进行了讲解。对于一些小项目来说基本是够用的。然而如果希望运营管理人员能够动态...

码农小胖哥

29分钟前

3

0

TechEmpower 框架性能测试数据 - 新解读 原 荐
此文定于11/28日 05时发

科学是井然有序的知识,智慧是井然有序的生活。

FalconChen

今天

6

0

JVM源码实战 - OOP-Klass模型

> Github原文链接 1 OOP-Klass(Ordinary Object Pointer)模型 OOP-Klass模型用来描述class的属性和行为 设计为OOP和Klass两部分是因为不希望每个对象都有一个C ++ vtbl指针, 因此,普通的o...

JavaEdge

今天

5

0

TechEmpower 框架性能测试数据 - 新解读 原 荐
OSChina 周四乱弹 —— 三个广东人在吵架

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @嗷呜zzz :分享The Piano Guys的单曲《The Cello Song》: 《The Cello Song》- The Piano Guys 手机党少年们想听歌,请使劲儿戳(这里) @双...

小小编辑

今天

57

3

TechEmpower 框架性能测试数据 - 新解读 原 荐
System.currentTimeMillis()存在性能问题

System.currentTimeMillis()是极其常用的基础Java API,广泛地用来获取时间戳或测量代码执行时长等,在我们的印象中应该快如闪电。但实际上在并发调用或者特别频繁调用它的情况下(比如一个业...

东皇巴顿

昨天

8

0

TechEmpower 框架性能测试数据 - 新解读 原 荐

没有更多内容

加载失败,请刷新页面

加载更多
原文  https://my.oschina.net/greenlaw110/blog/3134536
正文到此结束
Loading...