Report: Remove data from 2n-skx TB23
[csit.git] / docs / report / introduction / methodology_http_tcp_with_wrk_tool.rst
1 HTTP/TCP with WRK Tool
2 ----------------------
3
4 `WRK HTTP benchmarking tool <https://github.com/wg/wrk>`_ is used for
5 experimental TCP/IP and HTTP tests of VPP TCP/IP stack and built-in
6 static HTTP server. WRK has been chosen as it is capable of generating
7 significant TCP/IP and HTTP loads by scaling number of threads across
8 multi-core processors.
9
10 This in turn enables quite high scale benchmarking of the main TCP/IP
11 and HTTP service including HTTP TCP/IP Connections-Per-Second (CPS),
12 HTTP Requests-Per-Second and HTTP Bandwidth Throughput.
13
14 The initial tests are designed as follows:
15
16 - HTTP and TCP/IP Connections-Per-Second (CPS)
17
18   - WRK configured to use 8 threads across 8 cores, 1 thread per core.
19   - Maximum of 50 concurrent connections across all WRK threads.
20   - Timeout for server responses set to 5 seconds.
21   - Test duration is 30 seconds.
22   - Expected HTTP test sequence:
23
24     - Single HTTP GET Request sent per open connection.
25     - Connection close after valid HTTP reply.
26     - Resulting flow sequence - 8 packets: >Syn, <Syn-Ack, >Ack, >Req,
27       <Rep, >Fin, <Fin, >Ack.
28
29 - HTTP Requests-Per-Second
30
31   - WRK configured to use 8 threads across 8 cores, 1 thread per core.
32   - Maximum of 50 concurrent connections across all WRK threads.
33   - Timeout for server responses set to 5 seconds.
34   - Test duration is 30 seconds.
35   - Expected HTTP test sequence:
36
37     - Multiple HTTP GET Requests sent in sequence per open connection.
38     - Connection close after set test duration time.
39     - Resulting flow sequence: >Syn, <Syn-Ack, >Ack, >Req[1], <Rep[1],
40       .., >Req[n], <Rep[n], >Fin, <Fin, >Ack.