16 KiB
16 KiB
obj | repo | rev |
---|---|---|
application | https://github.com/hatoo/oha | 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 |