This commit is contained in:
JMARyA 2024-10-22 14:33:49 +02:00
parent a191343dad
commit 4a2da573a2
Signed by: jmarya
GPG key ID: 901B2ADDF27C2263
2 changed files with 55 additions and 0 deletions

View file

@ -288,6 +288,7 @@ rev: 2024-07-14
- [intermodal](./cli/intermodal.md)
- [socat](./cli/network/socat.md)
- [lychee](./cli/network/lychee.md)
- [oha](./cli/network/oha.md)
## Backup
- [borg](./backup/borg.md)

View file

@ -0,0 +1,54 @@
---
obj: application
repo: https://github.com/hatoo/oha
rev: 2024-10-22
---
# Ohayou (おはよう)
Ohayou(おはよう), HTTP load generator, inspired by rakyll/hey with tui animation.
## Usage
Usage: `oha [FLAGS] [OPTIONS] <url>`
### Options
| Option | Description |
| -------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `-n <N_REQUESTS>` | Number of requests to run. [default: 200] |
| `-c <N_CONNECTIONS>` | Number of connections to run concurrently. You may should increase limit to number of open files for larger `-c`. [default: 50] |
| `-p <N_HTTP2_PARALLEL>` | Number of parallel requests to send on HTTP/2. `oha` will run $c * p$ concurrent workers in total. [default: 1] |
| `-z <DURATION>` | Duration of application to send requests. If duration is specified, n is ignored. On HTTP/1, When the duration is reached, ongoing requests are aborted and counted as "aborted due to deadline". You can change this behavior with `-w` option. Currently, on HTTP/2, When the duration is reached, ongoing requests are waited. `-w` option is ignored. |
| `-w, --wait-ongoing-requests-after-deadline` | When the duration is reached, ongoing requests are waited |
| `-q <QUERY_PER_SECOND>` | Rate limit for all, in queries per second (QPS) |
| `--burst-delay <BURST_DURATION>` | Introduce delay between a predefined number of requests. Note: If qps is specified, burst will be ignored |
| `--burst-rate <BURST_REQUESTS>` | Rates of requests for burst. Default is 1. Note: If qps is specified, burst will be ignored |
| `--rand-regex-url` | Generate URL by `rand_regex` crate but dot is disabled for each query e.g. `http://127.0.0.1/[a-z][a-z][0-9]`. Currently dynamic scheme, host and port with keep-alive are not works well. |
| `--max-repeat <MAX_REPEAT>` | A parameter for the '--rand-regex-url'. The `max_repeat` parameter gives the maximum extra repeat counts the x*, x+ and x{n,} operators will become. [default: 4] |
| `--dump-urls <DUMP_URLS>` | Dump target Urls `<DUMP_URLS>` times to debug `--rand-regex-url` |
| `--latency-correction` | Correct latency to avoid coordinated omission problem. It's ignored if `-q` is not set. |
| `--no-tui` | No realtime tui |
| `-j, --json` | Print results as JSON |
| `--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 |
| `--http2` | Use HTTP/2. Shorthand for `--http-version=2` |
| `--host <HOST>` | HTTP Host header |
| `--disable-compression` | Disable compression. |
| `-r, --redirect <REDIRECT>` | Limit for number of Redirect. Set 0 for no redirection. Redirection isn't supported for HTTP/2. [default: 10] |
| `--disable-keepalive` | Disable keep-alive, prevents re-use of TCP connections between different HTTP requests. This isn't supported for HTTP/2. |
| `--no-pre-lookup` | *Not* perform a DNS lookup at beginning to cache it |
| `--ipv6` | Lookup only ipv6. |
| `--ipv4` | Lookup only ipv4. |
| `--insecure` | Accept invalid certs. |
| `--connect-to <CONNECT_TO>` | Override DNS resolution and default port numbers with strings like 'example.org:443:localhost:8443' |
| `--disable-color` | Disable the color scheme. |
| `--unix-socket <UNIX_SOCKET>` | Connect to a unix socket instead of the domain in the URL. Only for non-HTTPS URLs. |
| `--stats-success-breakdown` | Include a response status code successful or not successful breakdown for the time histogram and distribution statistics |
| `--db-url <DB_URL>` | Write succeeded requests to sqlite database url E.G test.db |