Bencher - 持续性能基准测试工具
bencher 🐰 Bencher - Continuous Benchmarking 项目地址: https://gitcode.com/gh_mirrors/be/bencher
1. 项目介绍
Bencher 是一个开源的持续性能基准测试工具,旨在帮助开发者检测和预防在生产环境中出现的性能退化。它通过在本地或持续集成(CI)环境中运行基准测试,并跟踪结果随时间的变化来实现这一目标。Bencher 提供了一个 CLI 工具、API 服务器和 Web UI,使得监控和警报性能变化变得简单。
2. 项目快速启动
以下是在项目中集成 Bencher 的步骤:
首先,确保您的项目中已经安装了 Bencher CLI。您可以通过 GitHub Actions 来安装 Bencher CLI:
name: Continuous Benchmarking with Bencher
on: push
branches: [main]
jobs:
benchmark_with_bencher:
name: Benchmark with Bencher
runs-on: ubuntu-latest
env:
BENCHER_PROJECT: my-project-slug
BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }}
steps:
- uses: actions/checkout@v4
- uses: bencherdev/bencher@main
- run: bencher run "bencher mock"
确保在您的 GitHub 仓库的 secrets
中添加了 BENCHER_API_TOKEN
。
3. 应用案例和最佳实践
案例一:在 CI 流程中集成 Bencher
在 CI 流程中集成 Bencher 可以帮助您在代码合并到主分支之前检测性能退化。以下是一个简单的集成示例:
# 在 CI 配置文件中添加以下步骤
steps:
- uses: actions/checkout@v4
- uses: bencherdev/bencher@main
- run: bencher run --github-actions "${{ secrets.GITHUB_TOKEN }}" "bencher mock"
案例二:设置性能阈值和警报
Bencher 允许您为基准测试设置阈值,并在超过阈值时生成警报。以下是如何设置阈值的一个示例:
bencher run --err "bencher mock"
这条命令将使得当任何基准测试结果超过设定的阈值时,CI 流程将会失败。
4. 典型生态项目
Bencher 已经被许多项目采用,以下是一些典型的生态项目:
- Microsoft CCF:一个开源的云原生计算基础架构。
- Rustls:一个纯 Rust 实现的 TLS 库。
- Diesel:一个用 Rust 编写的异步数据库访问库。
- Hydra Database:一个高性能的内存数据库。
- GreptimeDB:一个开源的时间序列数据库。
通过这些案例,您可以更好地了解 Bencher 在实际项目中的应用。
bencher 🐰 Bencher - Continuous Benchmarking 项目地址: https://gitcode.com/gh_mirrors/be/bencher
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考