Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
nghttp2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
nghttp2
Commits
936d4aca
Commit
936d4aca
authored
Feb 21, 2016
by
Tatsuhiro Tsujikawa
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update h2load documentation
parent
216ae0a3
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
33 additions
and
23 deletions
+33
-23
doc/sources/h2load-howto.rst
doc/sources/h2load-howto.rst
+33
-23
No files found.
doc/sources/h2load-howto.rst
View file @
936d4aca
.. program:: h2load
h2load - HTTP/2 benchmarking tool - HOW-TO
h2load - HTTP/2 benchmarking tool - HOW-TO
==========================================
==========================================
h2load is benchmarking tool for HTTP/2 and HTTP/1.1. If built with
:doc:`h2load.1` is benchmarking tool for HTTP/2 and HTTP/1.1. If
spdylay (http://tatsuhiro-t.github.io/spdylay/) library, it also
built with spdylay (http://tatsuhiro-t.github.io/spdylay/) library, it
supports SPDY protocol. It supports SSL/TLS and clear text for all
also supports SPDY protocol. It supports SSL/TLS and clear text for
supported protocols.
all
supported protocols.
Compiling from source
Compiling from source
---------------------
---------------------
``h2load`` is compiled alongside ``nghttp2`` and requires that the
h2load is compiled alongside nghttp2 and requires that the
``--enable-apps`` flag is passed to ``./configure`` and `required dependencies
``--enable-apps`` flag is passed to ``./configure`` and `required
<https://github.com/tatsuhiro-t/nghttp2#requirements>`_ are available during
dependencies <https://github.com/tatsuhiro-t/nghttp2#requirements>`_
compilation. For details on compiling, see `nghttp2: Building from Git
are available during compilation. For details on compiling, see
`nghttp2: Building from Git
<https://github.com/tatsuhiro-t/nghttp2#building-from-git>`_.
<https://github.com/tatsuhiro-t/nghttp2#building-from-git>`_.
Basic Usage
Basic Usage
...
@@ -20,23 +23,21 @@ Basic Usage
...
@@ -20,23 +23,21 @@ Basic Usage
In order to set benchmark settings, specify following 3 options.
In order to set benchmark settings, specify following 3 options.
``-n`
`
:option:`-n
`
The number of total requests. Default: 1
The number of total requests. Default: 1
``-c`
`
:option:`-c
`
The number of concurrent clients. Default: 1
The number of concurrent clients. Default: 1
``-m``
:option:`-m`
The max concurrent streams to issue per client.
The max concurrent streams to issue per client. Default: 1
If ``auto`` is given, the number of given URIs is used.
Default: ``auto``
For SSL/TLS connection, the protocol will be negotiated via ALPN/NPN.
For SSL/TLS connection, the protocol will be negotiated via ALPN/NPN.
You can set specific protocols in
``--npn-list`
` option. For
You can set specific protocols in
:option:`--npn-list
` option. For
cleartext connection, the default protocol is HTTP/2. To change the
cleartext connection, the default protocol is HTTP/2. To change the
protocol in cleartext connection, use
``--no-tls-proto`` option. For
protocol in cleartext connection, use
:option:`--no-tls-proto` option.
convenience, ``--h1`` option forces HTTP/1.1 for both cleartext and
For convenience, :option:`--h1` option forces HTTP/1.1 for both
SSL/TLS connections.
cleartext and
SSL/TLS connections.
Here is a command-line to perform benchmark to URI \https://localhost
Here is a command-line to perform benchmark to URI \https://localhost
using total 100000 requests, 100 concurrent clients and 10 max
using total 100000 requests, 100 concurrent clients and 10 max
...
@@ -71,11 +72,11 @@ benchmarking results. By default, h2load uses large enough flow
...
@@ -71,11 +72,11 @@ benchmarking results. By default, h2load uses large enough flow
control window, which effectively disables flow control. To adjust
control window, which effectively disables flow control. To adjust
receiver flow control window size, there are following options:
receiver flow control window size, there are following options:
``-w`
`
:option:`-w
`
Sets the stream level initial window size to
Sets the stream level initial window size to
(2**<N>)-1. For SPDY, 2**<N> is used instead.
(2**<N>)-1. For SPDY, 2**<N> is used instead.
``-W`
`
:option:`-W
`
Sets the connection level initial window size to
Sets the connection level initial window size to
(2**<N>)-1. For SPDY, if <N> is strictly less
(2**<N>)-1. For SPDY, if <N> is strictly less
than 16, this option is ignored. Otherwise
than 16, this option is ignored. Otherwise
...
@@ -85,17 +86,17 @@ Multi-Threading
...
@@ -85,17 +86,17 @@ Multi-Threading
---------------
---------------
Sometimes benchmarking client itself becomes a bottleneck. To remedy
Sometimes benchmarking client itself becomes a bottleneck. To remedy
this situation, use
``-t`
` option to specify the number of native
this situation, use
:option:`-t
` option to specify the number of native
thread to use.
thread to use.
``-t`
`
:option:`-t
`
The number of native threads. Default: 1
The number of native threads. Default: 1
Selecting protocol for clear text
Selecting protocol for clear text
---------------------------------
---------------------------------
By default, if \http:// URI is given, HTTP/2 protocol is used. To
By default, if \http:// URI is given, HTTP/2 protocol is used. To
change the protocol to use for clear text, use
``-p`
` option.
change the protocol to use for clear text, use
:option:`-p
` option.
Multiple URIs
Multiple URIs
-------------
-------------
...
@@ -106,3 +107,12 @@ If multiple URIs are specified, they are used in round robin manner.
...
@@ -106,3 +107,12 @@ If multiple URIs are specified, they are used in round robin manner.
Please note that h2load uses scheme, host and port in the first URI
Please note that h2load uses scheme, host and port in the first URI
and ignores those parts in the rest of the URIs.
and ignores those parts in the rest of the URIs.
UNIX domain socket
------------------
To request against UNIX domain socket, use :option:`--base-uri`, and
specify ``unix:`` followed by the path to UNIX domain socket. For
example, if UNIX domain socket is ``/tmp/nghttpx.sock``, use
``--base-uri=unix:/tmp/nghttpx.sock``. h2load uses scheme, host and
port in the first URI in command-line or input file.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment