Benchmarking network performance
The network is one of the key aspects to consider while deploying the applications in the container environment. To do performance comparison with bare metal, the VM, and the container, we have to consider different scenarios as follows:
- Bare metal to bare metal
- VM to VM
- Docker container to a container with the default networking mode (bridge)
- Docker container to a container with host net (
--net=host
) - Docker container running inside a VM with the external world
In any of the preceding cases, we can pick up two endpoints to do the benchmarking. We can use tools such as nuttcp (http://www.nuttcp.net) and netperf (https://github.com/HewlettPackard/netperf) to measure the network bandwidth and request/response, respectively.
Getting ready
Make sure both the endpoints can reach each other and that you have the necessary packages/software installed. On Ubuntu, you can install nuttcp and netperf with the following command:
$ sudo apt-get install -y nuttcp netperf