Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why containers network throughput is low

I created a couple of containers using Dockers and measured the network performance by means of Netperf. However the throughput results to be quite low, around 563.81 Mb/s. Isn't the communication between 2 containers/processes done through main memory? Does anyone have an idea why I am having such a low throughput. Do I need a specific configuration?

Thanks, Genc

like image 295
gtato Avatar asked Nov 30 '25 14:11

gtato


1 Answers

The question has been asked on the docker-user mailing list, and after some investigation, we found out that performance of veth in VMs with kernel 3.8 was "not great", and was significantly improved with kernel 3.10.

In other words:

  • if you run containers on bare metal, you will be fine (and see very fast transfer speeds between containers), regardless of the kernel version that you are using;
  • if you run containers in a VM (tested with Xen, VirtualBox, and KVM), you might see a huge drop in container-to-container transfer speed, if you run with kernel up to 3.8;
  • if you run kernel 3.10 or above, performance will be fine, regardless of the setup.

We haven't pinpointed the source of the problem yet, though.

like image 115
jpetazzo Avatar answered Dec 03 '25 10:12

jpetazzo



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!