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