TechEmpower 框架性能大比拼平台从 2013 年 3 月开始以来已经历经了 18 轮测试,参与这个平台的框架平台产品也从一开始的 24 种增加到今天的 659 种! 可以说这个平台已经是业界的标准性能测试平台,在 Web 框架性能测试领域的地位大概能和 PassMark 在 CPU 性能测试领域的地位相当.
TechEmpower 自身提供的棒图直观地呈现框架的 Throughput (吞吐量, 即每秒处理请求数):
而 TechEmpower 在测试过程中还收集了其他类型的数据,包括:
最近出现了一个新网站提供了另外几个数据的可视化呈现: https://ajdust.github.io/tfbvis/
这个网站打开是这样的:
默认排序是吞吐量,但可以通过点击列标题下面的空白部位切换排序列,比如点击红色箭头指向部位按照时延排序:
可以选择不同的 TFB 测试项目:
选择显示的框架:
遗憾的是目前该页面只能支持两个过滤条件:
下面我们就来看看 Spring 和 Act 这两种框架的各方面对比:
为了方便大家理解,这里解释一下图示的数据 (下面的图示就省去解释了):
框架 | 吞吐量 | 时延 | 内存占用 | CPU 占用 |
---|---|---|---|---|
Act | 1022k | 0.52ms | 2G | 53% |
Spring | 130K | 5.29ms | 6G | 61 % |
总结: 没有涉及数据库的情况下, Spring 比 Act
总结: 在有数据库和后端页面生成的情况下, Spring 比 Act:
总结: 在多次查询(每个请求过程中处理查询数据库 20 次)的情况下, Spring 比 Act:
总结: 在多次更新(每个请求过程中更新数据库 20 次)的情况下, Spring 比 Act:
总结: 在单次查询(每个请求处理过程查询数据库 1 次)的情况下, Spring 比 Act: