techempower framework benchmark 用于比较web应用程序框架性能。测试方面包括数据库查询、json序列化和服务端模板等。目前可以支持700多个web应用框架进行测试。
tfb测试项目:
1、json
http keep-alive支持,请求路由,请求解析,对象实例化,json序列化,响应生成和请求统计吞吐量。
2、Single Database Query(db)
测试web框架的orm,随机数生成器,数据库驱动和数据库连接池。
3、Multiple Database Queries(query)
在每个请求中并发20次数据库查询,测试数据库驱动和连接池
4、Fortunes
测试ORM,数据库连接,动态尺寸集合,分拣,服务器端模板,XSS的对策,以及字符编码。
5、database update
对数据库进行更新测试
6、plaintext
明文测试,使用http流水线进行测试。
tfb测试过程中会在机器上部署3个docker,分别是wrk-client端 web-server端和db数据库端。
安装流程 download framework benchmark code
./tfb --mode benchmark --test spring
执行非常漫长,对网络要求比较高,主要是下载依赖库和docker镜像资源,以及更新docker镜像内部的依赖资源。
(针对指定框架测试,不需要的框架删除即可。)
执行测试./tfb –mode benchmark
目前针对tomcat测试:
使用springboot框架进行测试。springboot包依赖通过maven进行依赖更新。
springboot2.3.1版本自带embed tomcat9.0.36
版本可以通过
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-tomcat
进行查询
测试结果位于frameworkbenchmark/results