github.com/dmaizel/tests@v0.0.0-20210728163746-cae6a2d9cee8/metrics/network/README.md (about) 1 # Kata Containers `iperf3` and `nuttcp` network metrics 2 3 * [Performance tools](#performance-tools) 4 * [Networking tests](#networking-tests) 5 * [Running the tests](#running-the-tests) 6 * [Expected results](#expected-results) 7 8 Kata Containers provides a series of network performance tests. Running these provides 9 a basic reference for measuring network essentials like bandwidth, jitter, 10 packet per second throughput, and latency. 11 12 ## Performance tools 13 14 - `iperf3` measures bandwidth and the quality of a network link. 15 16 - `nuttcp` determines the raw UDP layer throughput. 17 18 ## Networking tests 19 20 - `network-metrics-iperf3.sh` measures bandwidth, jitter, 21 and packet-per-second throughput using `iperf3` on single threaded connections. The 22 bandwidth test shows the speed of the data transfer. The jitter test measures the 23 variation in the delay of received packets. The packet-per-second tests show the 24 maximum number of (smallest sized) packets allowed through the transports. 25 26 - `network-metrics-nuttcp.sh` measures the UDP bandwidth using `nuttcp`. This tool 27 shows the speed of the data transfer for the UDP protocol. 28 29 - `network-metrics-iperf.sh` measures bidirectional bandwidth. Bidirectional tests 30 are used to test both servers for the maximum amount of throughput. 31 32 - `network-metrics-memory.sh` measures the Proportional Set Size (PSS), Resident Set Size (RSS), 33 and Virtual Set Size (VSS) of the hypervisor footprint on the host using 34 `smem` while running a transfer of one GB with `nuttcp`. 35 36 - `network-metrics-nginx-ab-benchmark.sh` uses an Nginx container and runs the Apache 37 benchmarking tool on the host to calculate the requests per second. 38 39 - `network-latency.sh` measures the latency using ping. The ping utility measures 40 how long it takes one packet to get from one point to another. 41 42 ## Running the tests 43 44 Individual tests can be run by hand, for example: 45 46 ``` 47 $ cd metrics 48 $ bash network/network-metrics-nuttcp.sh 49 ``` 50 51 ## Expected results 52 53 In order to obtain repeatable and stable results it is necessary to run the 54 tests multiple times (at least 15 times to have standard deviation < 3%). 55 56 > **NOTE** Networking tests results can vary between platforms and OS 57 > distributions.