2014-07-08 17:38:43 +02:00
|
|
|
|
2015-04-17 16:14:23 +02:00
|
|
|
.. program:: h2load
|
|
|
|
|
2014-07-08 17:38:43 +02:00
|
|
|
h2load(1)
|
|
|
|
=========
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
2015-01-09 16:37:42 +01:00
|
|
|
|
2014-10-27 16:35:44 +01:00
|
|
|
**h2load** [OPTIONS]... [URI]...
|
2014-07-08 17:38:43 +02:00
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
2015-01-09 16:37:42 +01:00
|
|
|
|
2014-07-08 17:38:43 +02:00
|
|
|
benchmarking tool for HTTP/2 and SPDY server
|
|
|
|
|
2015-01-09 16:37:42 +01:00
|
|
|
.. describe:: <URI>
|
2014-07-08 17:38:43 +02:00
|
|
|
|
2015-01-15 16:10:16 +01:00
|
|
|
Specify URI to access. Multiple URIs can be specified.
|
|
|
|
URIs are used in this order for each client. All URIs
|
|
|
|
are used, then first URI is used and then 2nd URI, and
|
|
|
|
so on. The scheme, host and port in the subsequent
|
|
|
|
URIs, if present, are ignored. Those in the first URI
|
|
|
|
are used solely.
|
2014-07-08 17:38:43 +02:00
|
|
|
|
2015-02-01 10:33:24 +01:00
|
|
|
OPTIONS
|
|
|
|
-------
|
2014-07-08 17:38:43 +02:00
|
|
|
|
|
|
|
.. option:: -n, --requests=<N>
|
|
|
|
|
2015-01-09 16:37:42 +01:00
|
|
|
Number of requests.
|
|
|
|
|
|
|
|
Default: ``1``
|
2014-07-08 17:38:43 +02:00
|
|
|
|
|
|
|
.. option:: -c, --clients=<N>
|
|
|
|
|
2015-01-09 16:37:42 +01:00
|
|
|
Number of concurrent clients.
|
|
|
|
|
|
|
|
Default: ``1``
|
2014-07-08 17:38:43 +02:00
|
|
|
|
|
|
|
.. option:: -t, --threads=<N>
|
|
|
|
|
2015-01-09 16:37:42 +01:00
|
|
|
Number of native threads.
|
|
|
|
|
|
|
|
Default: ``1``
|
2014-07-08 17:38:43 +02:00
|
|
|
|
2014-10-27 16:35:44 +01:00
|
|
|
.. option:: -i, --input-file=<FILE>
|
|
|
|
|
2015-01-15 16:10:16 +01:00
|
|
|
Path of a file with multiple URIs are seperated by EOLs.
|
|
|
|
This option will disable URIs getting from command-line.
|
|
|
|
If '-' is given as <FILE>, URIs will be read from stdin.
|
|
|
|
URIs are used in this order for each client. All URIs
|
|
|
|
are used, then first URI is used and then 2nd URI, and
|
|
|
|
so on. The scheme, host and port in the subsequent
|
|
|
|
URIs, if present, are ignored. Those in the first URI
|
|
|
|
are used solely.
|
2014-10-27 16:35:44 +01:00
|
|
|
|
2014-07-08 17:38:43 +02:00
|
|
|
.. option:: -m, --max-concurrent-streams=(auto|<N>)
|
|
|
|
|
2015-01-15 16:10:16 +01:00
|
|
|
Max concurrent streams to issue per session. If "auto"
|
|
|
|
is given, the number of given URIs is used.
|
2015-01-09 16:37:42 +01:00
|
|
|
|
|
|
|
Default: ``auto``
|
2014-07-08 17:38:43 +02:00
|
|
|
|
|
|
|
.. option:: -w, --window-bits=<N>
|
|
|
|
|
2015-01-15 16:10:16 +01:00
|
|
|
Sets the stream level initial window size to (2\*\*<N>)-1.
|
|
|
|
For SPDY, 2**<N> is used instead.
|
2014-07-08 17:38:43 +02:00
|
|
|
|
2015-04-27 15:36:34 +02:00
|
|
|
Default: ``30``
|
|
|
|
|
2014-07-08 17:38:43 +02:00
|
|
|
.. option:: -W, --connection-window-bits=<N>
|
|
|
|
|
2015-01-15 16:10:16 +01:00
|
|
|
Sets the connection level initial window size to
|
|
|
|
(2**<N>)-1. For SPDY, if <N> is strictly less than 16,
|
|
|
|
this option is ignored. Otherwise 2\*\*<N> is used for
|
|
|
|
SPDY.
|
2014-07-08 17:38:43 +02:00
|
|
|
|
2015-04-27 15:36:34 +02:00
|
|
|
Default: ``30``
|
|
|
|
|
2014-10-27 16:35:44 +01:00
|
|
|
.. option:: -H, --header=<HEADER>
|
|
|
|
|
|
|
|
Add/Override a header to the requests.
|
|
|
|
|
2014-07-08 17:38:43 +02:00
|
|
|
.. option:: -p, --no-tls-proto=<PROTOID>
|
|
|
|
|
2015-01-15 16:10:16 +01:00
|
|
|
Specify ALPN identifier of the protocol to be used when
|
|
|
|
accessing http URI without SSL/TLS.
|
|
|
|
Available protocols: spdy/2, spdy/3, spdy/3.1 and h2c-14
|
2015-01-09 16:37:42 +01:00
|
|
|
|
|
|
|
Default: ``h2c-14``
|
2014-07-08 17:38:43 +02:00
|
|
|
|
2015-03-26 16:37:12 +01:00
|
|
|
.. option:: -d, --data=<FILE>
|
|
|
|
|
|
|
|
Post FILE to server. The request method is changed to
|
|
|
|
POST.
|
|
|
|
|
2014-07-08 17:38:43 +02:00
|
|
|
.. option:: -v, --verbose
|
|
|
|
|
|
|
|
Output debug information.
|
|
|
|
|
|
|
|
.. option:: --version
|
|
|
|
|
|
|
|
Display version information and exit.
|
|
|
|
|
|
|
|
.. option:: -h, --help
|
|
|
|
|
|
|
|
Display this help and exit.
|
|
|
|
|
2015-02-01 10:19:16 +01:00
|
|
|
OUTPUT
|
|
|
|
------
|
|
|
|
|
|
|
|
requests
|
|
|
|
total
|
|
|
|
The number of requests h2load was instructed to make.
|
|
|
|
started
|
|
|
|
The number of requests h2load has started.
|
|
|
|
done
|
|
|
|
The number of requests completed.
|
|
|
|
succeeded
|
|
|
|
The number of requests completed successfully. Only HTTP status
|
|
|
|
code 2xx or3xx are considered as success.
|
|
|
|
failed
|
|
|
|
The number of requests failed, including HTTP level failures
|
|
|
|
(non-successful HTTP status code).
|
|
|
|
errored
|
|
|
|
The number of requests failed, except for HTTP level failures.
|
|
|
|
status code. This is the subset of the number reported in
|
|
|
|
``failed`` and most likely the network level failures or stream
|
|
|
|
was reset by RST_STREAM.
|
|
|
|
|
|
|
|
status codes
|
|
|
|
The number of status code h2load received.
|
|
|
|
|
|
|
|
traffic
|
|
|
|
total
|
|
|
|
The number of bytes received from the server "on the wire". If
|
|
|
|
requests were made via TLS, this value is the number of decrpyted
|
|
|
|
bytes.
|
|
|
|
headers
|
|
|
|
The number of response header bytes from the server without
|
|
|
|
decompression. For HTTP/2, this is the sum of the payload of
|
|
|
|
HEADERS frame. For SPDY, this is the sum of the payload of
|
|
|
|
SYN_REPLY frame.
|
|
|
|
data
|
|
|
|
The number of response body bytes received from the server.
|
|
|
|
|
|
|
|
time for request
|
|
|
|
min
|
|
|
|
The minimum time taken for request and response.
|
|
|
|
max
|
|
|
|
The maximum time taken for request and response.
|
|
|
|
mean
|
|
|
|
The mean time taken for request and response.
|
|
|
|
sd
|
|
|
|
The standard deviation of the time for request and response.
|
|
|
|
+/- sd
|
|
|
|
The fraction of the number of requests within standard deviation
|
|
|
|
range (mean +/- sd) against total number of successful requests.
|
|
|
|
|
2015-04-27 15:36:34 +02:00
|
|
|
FLOW CONTROL
|
|
|
|
------------
|
|
|
|
|
|
|
|
h2load sets large flow control window by default, and effectively
|
|
|
|
disables flow control to avoid under utilization of server
|
|
|
|
performance. To set smaller flow control window, use :option:`-w` and
|
|
|
|
:option:`-W` options. For example, use ``-w16 -W16`` to set default
|
|
|
|
window size described in HTTP/2 and SPDY protocol specification.
|
|
|
|
|
2014-07-08 17:38:43 +02:00
|
|
|
SEE ALSO
|
|
|
|
--------
|
|
|
|
|
2015-01-09 16:37:42 +01:00
|
|
|
:manpage:`nghttp(1)`, :manpage:`nghttpd(1)`, :manpage:`nghttpx(1)`
|