22 个版本 (7 个破坏性版本)

0.8.0 2024年7月23日
0.6.3 2024年5月27日
0.4.0 2024年3月5日
0.1.0 2023年12月4日

#220并发

Download history 233/week @ 2024-04-19 32/week @ 2024-04-26 2/week @ 2024-05-03 243/week @ 2024-05-10 10/week @ 2024-05-17 350/week @ 2024-05-24 28/week @ 2024-05-31 9/week @ 2024-06-07 167/week @ 2024-06-14 25/week @ 2024-06-21 22/week @ 2024-06-28 111/week @ 2024-07-05 90/week @ 2024-07-19 31/week @ 2024-07-26 3/week @ 2024-08-02

每月下载 <124

MIT 许可证

75KB
1.5K SLoC

巴尔特

Linux build status Crates.io

巴尔特(Balter)是巴尔特,即 巴尔特,一个负载测试器 的缩写,是一个灵活、高效、易于使用的负载/压力测试框架。巴尔特旨在最小化负载测试的概念开销,并基于 Tokio 和异步生态系统构建。

  • 请访问 网站 了解巴尔特的介绍。
  • 请访问 指南 了解如何开始。
  • 请访问 开发者说明 部分了解修改巴尔特的技巧。

示例用法

use balter::prelude::*;
use std::time::Duration;

#[tokio::main]
async fn main() {
    my_scenario()
        .tps(500)
        .error_rate(0.05)
        .latency(Duration::from_millis(20), 0.99)
        .duration(Duration::from_secs(30))
        .await;
}

#[scenario]
async fn my_scenario() {
    my_transaction().await;
}

#[transaction]
async fn my_transaction() -> Result<u32, String> {
    // Some request logic...

    Ok(0)
}

开发者说明

巴尔特存储库设置简单,易于开始开发。它使用 Nix 通过 shell.nix(如果您还没有尝试 Nixaide,打开该文件,它将给您一些您可能需要的程序的思路)。否则,巴尔特与所有默认的 cargo 命令一起正常工作。

集成测试可能有点棘手。要运行集成测试,请使用 just integration(或者如果您还没有安装 just,请使用 cargo test --release --features integration)。为了轻松调试这些测试(这些测试通常依赖于控制器逻辑的正确运行),图形可能会有所帮助。您可以在 dashboards/ 中找到每个测试的 Grafana 仪表板,如果您正在运行 Prometheus(使用根目录中的 prometheus.yml)并且 Grafana 正在运行(导入仪表板),则应该设置正确。

依赖关系

~8–22MB
~298K SLoC