hatoo / Oha
Licence: mit
Ohayou(おはよう), HTTP load generator, inspired by rakyll/hey with tui animation.
Stars: ✭ 641
Programming Languages
rust
11053 projects
Projects that are alternatives of or similar to Oha
Sangrenel
Apache Kafka load testing "...basically a cloth bag filled with small jagged pieces of scrap iron"
Stars: ✭ 180 (-71.92%)
Mutual labels: benchmark, load-testing
Memtier benchmark
NoSQL Redis and Memcache traffic generation and benchmarking tool.
Stars: ✭ 480 (-25.12%)
Mutual labels: benchmark, load-testing
goku
goku is a HTTP load testing application written in Rust
Stars: ✭ 29 (-95.48%)
Mutual labels: benchmark, load-testing
Gatling Dubbo
A gatling plugin for running load tests on Apache Dubbo(https://github.com/apache/incubator-dubbo) and other java ecosystem.
Stars: ✭ 131 (-79.56%)
Mutual labels: benchmark, load-testing
jmeter-grpc-plugin
A JMeter plugin supports load test gRPC
Stars: ✭ 36 (-94.38%)
Mutual labels: benchmark, load-testing
Cassowary
🚀 Modern cross-platform HTTP load-testing tool written in Go
Stars: ✭ 488 (-23.87%)
Mutual labels: load-testing
Asv
Airspeed Velocity: A simple Python benchmarking tool with web-based reporting
Stars: ✭ 570 (-11.08%)
Mutual labels: benchmark
Meta Dataset
A dataset of datasets for learning to learn from few examples
Stars: ✭ 483 (-24.65%)
Mutual labels: benchmark
Rpc Benchmark
java rpc benchmark, 灵感源自 https://www.techempower.com/benchmarks/
Stars: ✭ 463 (-27.77%)
Mutual labels: benchmark
Nench
VPS benchmark script — based on the popular bench.sh, plus CPU and ioping tests, and dual-stack IPv4 and v6 speedtests by default
Stars: ✭ 611 (-4.68%)
Mutual labels: benchmark
Textclassificationbenchmark
A Benchmark of Text Classification in PyTorch
Stars: ✭ 534 (-16.69%)
Mutual labels: benchmark
Lzbench
lzbench is an in-memory benchmark of open-source LZ77/LZSS/LZMA compressors
Stars: ✭ 490 (-23.56%)
Mutual labels: benchmark
Bender
An easy-to-use library for creating load testing applications
Stars: ✭ 583 (-9.05%)
Mutual labels: load-testing
Microservices Framework Benchmark
Raw benchmarks on throughput, latency and transfer of Hello World on popular microservices frameworks
Stars: ✭ 615 (-4.06%)
Mutual labels: benchmark
Mimic3 Benchmarks
Python suite to construct benchmark machine learning datasets from the MIMIC-III clinical database.
Stars: ✭ 463 (-27.77%)
Mutual labels: benchmark
S3 Benchmark
Measure Amazon S3's performance from any location.
Stars: ✭ 525 (-18.1%)
Mutual labels: benchmark
oha (おはよう)
oha is a tiny program that sends some load to a web application and show realtime tui inspired by rakyll/hey.
This program is written in Rust and powered by tokio and beautiful tui by tui-rs.
Installation
This program is built on stable Rust.
cargo install oha
On Arch Linux
pacman -S oha
On macOS (Homebrew)
brew install oha
Azlux's repository)
On Debian (echo "deb http://packages.azlux.fr/debian/ buster main" | sudo tee /etc/apt/sources.list.d/azlux.list
wget -qO - https://azlux.fr/repo.gpg.key | sudo apt-key add -
apt update
apt install oha
Platform
- Linux - Tested on Ubuntu 18.04 gnome-terminal
- Windows 10 - Tested on Windows Powershell
- MacOS - Tested on iTerm2
Usage
-q
option works different from rakyll/hey. It's set overall query per second instead of for each workers.
oha 0.4.4
hatoo <[email protected]>
Ohayou(おはよう), HTTP load generator, inspired by rakyll/hey with tui animation.
USAGE:
oha [FLAGS] [OPTIONS] <url>
FLAGS:
--no-tui No realtime tui
--disable-compression Disable compression.
--disable-keepalive Disable keep-alive, prevents re-use of TCP connections between different HTTP requests.
--ipv6 Lookup only ipv6.
--ipv4 Lookup only ipv4.
--insecure Accept invalid certs.
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-n <n-requests> Number of requests to run. [default: 200]
-c <n-workers> Number of workers to run concurrently. You may should increase limit to number
of open files for larger `-c`. [default: 50]
-z <duration> Duration of application to send requests. If duration is specified, n is
ignored.
Examples: -z 10s -z 3m.
-q <query-per-second> Rate limit for all, in queries per second (QPS)
--fps <fps> Frame per second for tui. [default: 16]
-m, --method <method> HTTP method [default: GET]
-H <headers>... Custom HTTP header. Examples: -H "foo: bar"
-t <timeout> Timeout for each request. Default to infinite.
-A <accept-header> HTTP Accept Header.
-d <body-string> HTTP request body.
-D <body-path> HTTP request body from file.
-T <content-type> Content-Type.
-a <basic-auth> Basic authentication, username:password
--http-version <http-version> HTTP version. Available values 0.9, 1.0, 1.1, 2.
--host <host> HTTP Host header
-r, --redirect <redirect> Limit for number of Redirect. Set 0 for no redirection. [default: 10]
--connect-to <connect-to>... Override DNS resolution and default port numbers with strings like
'example.org:443:localhost:8443'
ARGS:
<url> Target URL.
Contribution
Feel free to help us!
Here are some issues to improving.
- Write tests
- Improve tui design.
- Show more information?
- There are no color in realtime tui now. I want help from someone who has some color sense.
- Improve speed
- I'm new to tokio. I think there are some space to optimize query scheduling.
- Output like CSV or JSON format.
- Improve histogram in summary output
- It uses very simple algorithm now.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].