Pergunta

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

Foi útil?

Solução

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top