1 .\" Man page generated from reStructuredText.
3 .TH "H2LOAD" "1" "May 16, 2015" "1.0.0" "nghttp2"
5 h2load \- HTTP/2 benchmarking tool
7 .nr rst2man-indent-level 0
11 level \\n[rst2man-indent-level]
12 level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
19 .\" .rstReportMargin pre:
21 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
22 . nr rst2man-indent-level +1
23 .\" .rstReportMargin post:
27 .\" indent \\n[an-margin]
28 .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
29 .nr rst2man-indent-level -1
30 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
31 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
35 \fBh2load\fP [OPTIONS]... [URI]...
38 benchmarking tool for HTTP/2 and SPDY server
42 Specify URI to access. Multiple URIs can be specified.
43 URIs are used in this order for each client. All URIs
44 are used, then first URI is used and then 2nd URI, and
45 so on. The scheme, host and port in the subsequent
46 URIs, if present, are ignored. Those in the first URI
52 .B \-n, \-\-requests=<N>
59 .B \-c, \-\-clients=<N>
60 Number of concurrent clients.
66 .B \-t, \-\-threads=<N>
67 Number of native threads.
73 .B \-i, \-\-input\-file=<FILE>
74 Path of a file with multiple URIs are separated by EOLs.
75 This option will disable URIs getting from command\-line.
76 If \(aq\-\(aq is given as <FILE>, URIs will be read from stdin.
77 URIs are used in this order for each client. All URIs
78 are used, then first URI is used and then 2nd URI, and
79 so on. The scheme, host and port in the subsequent
80 URIs, if present, are ignored. Those in the first URI
85 .B \-m, \-\-max\-concurrent\-streams=(auto|<N>)
86 Max concurrent streams to issue per session. If "auto"
87 is given, the number of given URIs is used.
93 .B \-w, \-\-window\-bits=<N>
94 Sets the stream level initial window size to (2**<N>)\-1.
95 For SPDY, 2**<N> is used instead.
101 .B \-W, \-\-connection\-window\-bits=<N>
102 Sets the connection level initial window size to
103 (2**<N>)\-1. For SPDY, if <N> is strictly less than 16,
104 this option is ignored. Otherwise 2**<N> is used for
111 .B \-H, \-\-header=<HEADER>
112 Add/Override a header to the requests.
116 .B \-p, \-\-no\-tls\-proto=<PROTOID>
117 Specify ALPN identifier of the protocol to be used when
118 accessing http URI without SSL/TLS.
119 Available protocols: spdy/2, spdy/3, spdy/3.1 and h2c
125 .B \-d, \-\-data=<FILE>
126 Post FILE to server. The request method is changed to
132 Output debug information.
137 Display version information and exit.
142 Display this help and exit.
151 The number of requests h2load was instructed to make.
154 The number of requests h2load has started.
157 The number of requests completed.
160 The number of requests completed successfully. Only HTTP status
161 code 2xx or3xx are considered as success.
164 The number of requests failed, including HTTP level failures
165 (non\-successful HTTP status code).
168 The number of requests failed, except for HTTP level failures.
169 status code. This is the subset of the number reported in
170 \fBfailed\fP and most likely the network level failures or stream
171 was reset by RST_STREAM.
175 The number of status code h2load received.
181 The number of bytes received from the server "on the wire". If
182 requests were made via TLS, this value is the number of decrpyted
186 The number of response header bytes from the server without
187 decompression. For HTTP/2, this is the sum of the payload of
188 HEADERS frame. For SPDY, this is the sum of the payload of
192 The number of response body bytes received from the server.
199 The minimum time taken for request and response.
202 The maximum time taken for request and response.
205 The mean time taken for request and response.
208 The standard deviation of the time taken for request and response.
211 The fraction of the number of requests within standard deviation
212 range (mean +/\- sd) against total number of successful requests.
219 The minimum time taken to connect to a server.
222 The maximum time taken to connect to a server.
225 The mean time taken to connect to a server.
228 The standard deviation of the time taken to connect to a server.
231 The fraction of the number of connections within standard
232 deviation range (mean +/\- sd) against total number of successful
236 .B time for 1st byte (of (decrypted in case of TLS) application data)
240 The minimum time taken to get 1st byte from a server.
243 The maximum time taken to get 1st byte from a server.
246 The mean time taken to get 1st byte from a server.
249 The standard deviation of the time taken to get 1st byte from a
253 The fraction of the number of connections within standard
254 deviation range (mean +/\- sd) against total number of successful
260 h2load sets large flow control window by default, and effectively
261 disables flow control to avoid under utilization of server
262 performance. To set smaller flow control window, use \fI\%\-w\fP and
263 \fI\%\-W\fP options. For example, use \fB\-w16 \-W16\fP to set default
264 window size described in HTTP/2 and SPDY protocol specification.
267 \fInghttp(1)\fP, \fInghttpd(1)\fP, \fInghttpx(1)\fP
271 2012, 2015, Tatsuhiro Tsujikawa
272 .\" Generated by docutils manpage writer.