#load-testing #http #performance #cli

bin+lib goku

goku 是一个用 Rust 编写的 HTTP 压力测试应用程序

2 个版本

0.1.1 2019 年 11 月 13 日
0.1.0 2019 年 11 月 10 日

#240性能分析

MIT 许可证

14KB
238

goku

goku

概述

Actions Status crate-name at crates.io

goku 是一个用 Rust 编写的 HTTP 压力测试应用程序

(灵感来源于 vegeta!)

演示

goku

安装

预编译的可执行文件

在此处获取:这里

使用 homebrew

brew install k-nasa/tap/goku

使用 cargo

cargo install goku

cargo 的安装。

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

用法

goku 0.1.0
goku is a HTTP load testing application written in Rust

USAGE:
    goku [SUBCOMMAND]

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    help          Show help
    kamehameha    Run load test [aliases: attack]

示例

kamehameha

以 10 并行的方式向 127.0.0.1:8080 发送 10,000 个请求(因为 'kamehameka' 的打法很尴尬,所以有一个攻击别名。)

goku kamehameha -c 10 -n 10000 'http://127.0.0.1:8080'
# or goku attack -c 10 -n 10000 'http://127.0.0.1:8080'

输出可以是 json 和文本。当与 jq 结合使用时,显示效果更佳。

goku kamehameha -c 10 -n 10000 'http://127.0.0.1:8080' -o json | jq .

{
  "errors": [],
  "concurrency_level": 10,
  "time_taken_test": {
    "secs": 2,
    "nanos": 209216142
  },
  "complete_requests": 10000,
  "failed_requests": 0,
  "total_transferred": 1290000,
  "total_time": {
    "secs": 22,
    .
    .
    .

贡献

  1. Fork 它 ( http://github.com/k-nasa/goku )
  2. 创建你的功能分支 (git checkout -b my-new-feature)
  3. 提交你的更改 (git commit -am '添加一些功能')
  4. 将更改推送到分支 (git push origin my-new-feature)
  5. 创建新的 Pull Request

许可证

MIT

作者

k-nasa

我的网站

依赖关系

~10–21MB
~298K SLoC