1. TechEmpower Framework Benchmark 介绍

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

TechEmpower 自身提供的棒图直观地呈现框架的 Throughput (吞吐量, 即每秒处理请求数): 

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

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

2. TFB VIS 可视化网站

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

这个网站打开是这样的:

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

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

选择显示的框架:

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

3. ActFramework vs. Spring Framework

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

3.1 JSON 测试

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

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

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

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

3.2 Fortune 测试

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

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

3.3 Query 测试

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

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

3.4 Update 测试

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

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

3.5 DB 测试

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

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

TechEmpower 框架性能测试数据 - 新解读的更多相关文章

  1. 几种流行Webservice框架性能对比

    1      摘要 开发webservice应用程序中离不开框架的支持,当open-open网站列举的就有30多种,这对于开发者如何选择带来一定的疑惑.性能Webservice的关键要素,不同的框架性 ...

  2. 几种流行Webservice框架性能对比(转载)

    1摘要 开发webservice应用程序中离不开框架的支持,当open-open网站列举的就有很多种,这对于开发者如何选择带来一定的疑惑.性能Webservice的关键要素,不同的框架性能上存在较大差 ...

  3. TechEmpower Web 框架性能第19轮测试结果正式发布,ASP.NET Core在主流框架中拔得头筹

    TechEmpower 第19轮编程语言框架性能排行榜2020年5月28日正式发布,详见官方博客:https://www.techempower.com/blog/2020/05/28/framewo ...

  4. TechEmpower 21轮Web框架 性能评测 -- C# 的性能 和 Rust、C++并驾齐驱

    自从2021年2月第20轮公布的测试以后,一年半后 的2022年7月19日 发布了 TechEmpower 21轮测试报告:Round 21 results - TechEmpower Framewo ...

  5. EntityFramework、Dapper vs 草根框架性能大比拼,数据库访问哪家强?

    扯淡 当前市面上 ORM 很多,有跑车型的,如 Dapper,有中规中矩型的,如 Mybatis.Net,也有重量型的,如 EntityFramework 和 NHibernate,还有一些出自草根之 ...

  6. [java]序列化框架性能对比(kryo、hessian、java、protostuff)

    序列化框架性能对比(kryo.hessian.java.protostuff) 简介:   优点 缺点 Kryo 速度快,序列化后体积小 跨语言支持较复杂 Hessian 默认支持跨语言 较慢 Pro ...

  7. 几种流行Webservice框架性能对照

     转自[http://blog.csdn.net/thunder4393/article/details/5787121],写的非常好,以收藏. 1      摘要 开发webservice应用程序中 ...

  8. EntityFramework、Dapper vs 草根框架性能

    EntityFramework.Dapper vs 草根框架性能 扯淡 当前市面上 ORM 很多,有跑车型的,如 Dapper,有中规中矩型的,如 Mybatis.Net,也有重量型的,如 Entit ...

  9. java web框架发展的新趋势--跨界轻型App

    “跨界(cross over)在汽车界已然成风,将轿车.SUV.跑车和MPV等多种不同元素融为一体的混搭跨界车型,正在成为汽车设计领域的新趋势.从个人而言,当包容.多元的审美要求和物质要求越来越强烈时 ...

随机推荐

  1. python进阶—OpenCV之常用图像操作函数说明(转)

    文章目录cv2.thresholdcv2.bitwise_andcv2.bitwise_orcv2.bitwise_notcv2.inRangecv2.resizecv2.adaptiveThresh ...

  2. Docker 容器shell

    版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...

  3. NIO前奏之Path、Files、AsynchronousFileChannel

    NIO前奏之Path.Files.AsynchronousFileChannel   Java 1.4加入了nio包,Java 1.7 加入了真正的AIO(异步IO),AsynchronousFile ...

  4. weex框架

    weex优势: (1)支持ES6规范 (2)性能优异,开发简介标准,提及小巧. (3)跨平台 weex调试工具:weexplayground weex环境搭建: (1)安装 node.js.npm ( ...

  5. HDU 1576:A/B

    A/B Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  6. c++ STD Gems07

    reverse.rotate.permutation #include <iostream> #include <vector> #include <string> ...

  7. OFD系列软件说明(免费试用、QQ交流群:877371250)

    前言 OFD是一个版式文档格式.所谓版式文档格式是版面呈现效果固定的电子文档格式. 我们今天接触到最多的版式文档就是国际通用的PDF. 国内的就是由工业和信息化部软件司牵头中国电子技术标准化研究院成立 ...

  8. select、poll和epoll机制

    一.参考网址 1.select函数及fd_set介绍 2.linux select 函数和 fd_set 用法 2.select.poll和epoll的区别 3.利用select实现IO多路复用TCP ...

  9. java内存模型(线程,volatile关键字和sychronized关键字)

    volatile关键字 用在多线程,同步变量. 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B.只在某些动作时才进行A和B的同步.因此存在A和B不一致的情况. ...

  10. git提交时设置忽略部分文件提交

    git当前提交项目时总是会提交很多东西把Debug文件也提交了 在项目根目录(例如我的项目文件夹下,.sln文件的上一级目录)下建一个.gitignore文件,文件内容直接可粘贴下面的,这样 pack ...