techempower framework benchmark介绍及本地使用

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

### 如何在本地运行 ANN-Benchmark #### 准备工作 为了能够在本地环境中成功设置并运行 ANN-Benchmark,需要完成一系列准备工作。这些准备包括安装必要的依赖库、克隆项目仓库以及配置开发环境。 1. **克隆 ANN-Benchmark 仓库** 首先需要从 GitHub 上获取最新的 ANN-Benchmark 源码。可以通过以下命令实现: ```bash git clone https://github.com/erikbern/ann-benchmarks.git cd ann-benchmarks ``` 2. **创建虚拟环境** 推荐使用 Python 的虚拟环境来管理项目的依赖项。可以按照如下方式操作: ```bash python3 -m venv env source env/bin/activate ``` 3. **安装依赖包** 安装所需的 Python 库和其他工具。通常情况下,`requirements.txt` 文件会列出所有的依赖项。执行以下命令以自动安装它们: ```bash pip install -r requirements.txt ``` 4. **数据库初始化** 如果涉及到存储测试结果或其他元数据,则可能还需要初始化 SQLite 数据库或者类似的轻量级解决方案。具体方法可参考官方文档说明[^1]。 #### 修改默认参数与路径适配 由于不同用户的操作系统可能存在差异,在某些特定场景下需调整脚本内的硬编码路径或函数调用逻辑以便更好地兼容当前机器架构。例如对于 Windows 用户来说,可能会遇到一些跨平台问题,此时就需要参照类似 `maskrcnn-benchmark` 在 Win10 下的成功实践案例进行适当改造[^3]。 另外值得注意的一点是,如果你仅打算专注于近邻检索而无需关注其他复杂功能模块时,那么简化不必要的组件加载也是提升效率的好办法之一。就像之前提到过的那样,“当仅仅处理检测任务而非关键点预测的时候”,我们可以考虑移除那些不必要部分从而减少干扰因素影响最终效果评估过程[^2]。 #### 运行基准测试 一切就绪之后就可以启动实际性能评测环节了。一般而言会有专门设计好的 shell 脚本来帮助快速开始整个流程: ```bash ./run-experiments.sh --dataset glove-100-angular --algorithm hnswlib --count 10 ``` 上述例子展示了针对 GloVe 向量集采用 HNSWLib 算法寻找最近邻居的过程,并指定返回最多十个候选对象作为匹配结果展示出来。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值