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

Posted 1994july

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TechEmpower 框架性能测试数据 - 新解读相关的知识,希望对你有一定的参考价值。

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 框架性能测试数据 - 新解读的主要内容,如果未能解决你的问题,请参考以下文章

使用 python web 框架 进行高并发模型上线部署 的架构 思路探索

sqlsugar freesql hisql 三个ORM框架性能测试对比

Web框架 性能评测 -- C# 的性能 和 RustC++并驾齐驱

python aiohttp sancio 框架性能测试

Go语言使用gorm对MySQL进行性能测试

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