Trombi - 灾难性的负载测试利器

Trombi - 灾难性的负载测试利器

trombiLoad testing library for testing stateful apps with Clojure项目地址:https://gitcode.com/gh_mirrors/tr/trombi

Trombi 是一个由 Clojure 编写的高效负载测试工具,它能够以Clojure数据结构或图形报告的形式产出测试结果,特别适合状态型应用的脚本逻辑测试。原名为 clj-gatling 的它,如今已演变为拥有自己独特设计的独立工具,尽管仍然与 Gatling 高级图表库兼容。

安装

将以下依赖添加到你的 project.clj 文件的 :dependencies 中:

[com.github.mhjort/trombi "版本号"]

(此处替换为实际的最新版本号)

请注意,Trombi 已经改名,但对旧版用户的代码仍保持向后兼容性,无需修改即可直接运行原有的 clj-gatling 测试。

使用

下面是一个简单的例子,展示了如何进行100个并发的本地HTTP GET请求:

(require '[trombi.core :as trombi]
         '[org.httpkit.client :as http])

(defn localhost-request [_]
  (let [{:keys [status]} @(http/get "http://localhost")]
    (= status 200)))

(trombi/run
  {:name "Simulation"
   :scenarios [{:name "Localhost test scenario"
                :steps [{:name "Root"
                         :request localhost-request}]}]}
  {:concurrency 100})

测试结束后,会打印出统计信息,并返回类似如下的结果:

{:ok 90 :ko 10 :response-time {:global {:min 20
                                        :max 500
                                        :mean 154}}}

其中 ok 表示成功请求数,ko 代表失败请求数,而 response-time 则给出响应时间的最小值、最大值和平均值。

若想生成图形报告,可以加入额外的依赖并指定报告器:

(require '[trombi-gatling-highcharts-reporter.core])
(trombi/run your-simulation 
           {:concurrency 100 
            :reporters [trombi-gatling-highcharts-reporter.core/reporter]})

这会使用 Gatling 高级图表报告器创建图形化报告,位置将在输出中显示。

项目特点与应用场景

概念与特点

  • 模拟概念:Trombi 执行模拟来模拟负载,模拟由一个或多个并行执行的场景构成,每个场景又由一系列顺序执行的步骤组成。
  • 全局钩子:支持在模拟开始前和结束后执行预置函数,用于设置环境或清理工作。
  • 动态场景:通过自定义函数动态决定下一步操作,提供更大的灵活性。
  • 统计反馈:返回详细的响应时间和每秒请求数等统计信息,便于性能分析。
  • 异步控制:提供了 run-async 函数,允许您更精细地控制模拟执行。

应用场景

Trombi 可广泛应用于各种场景,包括但不限于:

  1. Web 服务性能测试:检查服务器在高并发情况下的响应速度和稳定性。
  2. 数据库压力测试:评估数据库在大规模读写操作下的表现。
  3. API 性能验证:确保 API 能够满足性能要求和SLA。
  4. 微服务集成测试:在模拟真实环境中的复杂交互下测试微服务架构。

Trombi 的强大功能和灵活的设计使其成为负载测试的理想选择,无论您的应用程序多么复杂。现在就尝试使用 Trombi,提升您的性能测试体验吧!

trombiLoad testing library for testing stateful apps with Clojure项目地址:https://gitcode.com/gh_mirrors/tr/trombi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邬筱杉Lewis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值