manpagez: man pages & more
man h2load(1)
Home | html | info | man
h2load(1)                           nghttp2                          h2load(1)




NAME

       h2load - HTTP/2 benchmarking tool


SYNOPSIS

       h2load [OPTIONS]... [URI]...


DESCRIPTION

       benchmarking tool for HTTP/2 and SPDY server

       <URI>  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.


OPTIONS

       -n, --requests=<N>
              Number of requests.

              Default: 1

       -c, --clients=<N>
              Number of concurrent clients.

              Default: 1

       -t, --threads=<N>
              Number of native threads.

              Default: 1

       -i, --input-file=<PATH>
              Path  of  a file with multiple URIs are separated by EOLs.  This
              option will disable URIs getting from command-line.  If  '-'  is
              given  as  <PATH>,  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.

       -m, --max-concurrent-streams=(auto|<N>)
              Max  concurrent  streams  to   issue  per session.  If "auto" is
              given, the number of given URIs is used.

              Default: auto

       -w, --window-bits=<N>
              Sets the stream level initial window size  to  (2**<N>)-1.   For
              SPDY, 2**<N> is used instead.

              Default: 30

       -W, --connection-window-bits=<N>
              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.

              Default: 30

       -H, --header=<HEADER>
              Add/Override a header to the requests.

       --ciphers=<SUITE>
              Set  allowed   cipher  list.   The   format  of  the   string is
              described in OpenSSL ciphers(1).

       -p, --no-tls-proto=<PROTOID>
              Specify ALPN identifier of the  protocol to be used when access-
              ing  http  URI  without  SSL/TLS.   Available protocols: spdy/2,
              spdy/3, spdy/3.1 and h2c

              Default: h2c

       -d, --data=<PATH>
              Post FILE to  server.  The request method  is changed to POST.

       -r, --rate=<N>
              Specifies  the  fixed  rate  at  which   connections   are  cre-
              ated.   The   rate  must   be  a   positive  integer, represent-
              ing the  number of  connections to be  made  per  second.   When
              the rate is 0,  the program will run as it normally does, creat-
              ing connections at whatever variable rate it wants.  The default
              value for this option is 0.

       -C, --num-conns=<N>
              Specifies   the  total   number of  connections to  create.  The
              total  number of  connections  must  be a  positive integer.  On
              each connection, -m requests are made.  The test  stops once  as
              soon  as the   <N>  connections   have  either   completed    or
              failed.    When  the   number  of connections is  0, the program
              will run as  it normally does, creating as many connections   as
              it  needs  in  order  to  make  the -n  requests specified.  The
              default value for this option is  0.   The   -n  option  is  not
              required if the -C option is being used.

       -v, --verbose
              Output debug information.

       --version
              Display version information and exit.

       -h, --help
              Display this help and exit.


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 fail-
                     ures (non-successful HTTP status code).

              errored
                     The  number  of  requests  failed,  except for HTTP level
                     failures.  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 with-
                     out  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 taken for request  and
                     response.

              +/- sd The  fraction  of  the number of requests within standard
                     deviation range (mean +/- sd)  against  total  number  of
                     successful requests.

       time for connect

              min    The minimum time taken to connect to a server.

              max    The maximum time taken to connect to a server.

              mean   The mean time taken to connect to a server.

              sd     The  standard deviation of the time taken to connect to a
                     server.

              +/- sd The  fraction  of  the   number  of  connections   within
                     standard  deviation  range  (mean   +/- sd) against total
                     number of successful connections.

       time for 1st byte (of (decrypted in case of TLS) application data)

              min    The minimum time taken to get 1st byte from a server.

              max    The maximum time taken to get 1st byte from a server.

              mean   The mean time taken to get 1st byte from a server.

              sd     The standard deviation of the time taken to get 1st  byte
                     from a server.

              +/- sd The fraction of the number of connections within standard
                     deviation range (mean +/- sd)  against  total  number  of
                     successful connections.


FLOW CONTROL

       h2load  sets large flow control window by default, and effectively dis-
       ables flow control to avoid under utilization  of  server  performance.
       To  set  smaller flow control window, use -w and -W options.  For exam-
       ple, use -w16 -W16 to set default window size described in  HTTP/2  and
       SPDY protocol specification.


SEE ALSO

       nghttp(1), nghttpd(1), nghttpx(1)


AUTHOR

       Tatsuhiro Tsujikawa


COPYRIGHT

       2012, 2015, Tatsuhiro Tsujikawa



1.2.1                           August 14, 2015                      h2load(1)

nghttp2 1.2.1 - Generated Sat Aug 15 10:51:44 CDT 2015
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.