<div dir="ltr">Hi,<div><br></div><div>(Note: this is not specific to LXC, but it is related to network namespaces, so I thought that this might be the best place to get some help. If I'm wrong, feel free to redirect me elsewhere!)</div>
<div><br></div><div>While doing a bunch of TCP speed tests with containers, I noticed the following: when running in virtual machines (tested with KVM and VirtualBox), transfer speeds between containers are much slower than expected.</div>
<div><br></div><div>I tested with "iperf -s" on one end, "iperf -c $other_end -i 1" on the other end.</div><div><br></div><div>Here are the results:</div><div>- local test on physical machine (through localhost): 40 Gb/s</div>
<div>- container-to-container on physical machine: 25 Gb/s</div><div>- local test on virtual machine: 30 Gb/s</div><div>- container-to-container on virtual machine: 600 Mb/s</div><div><br></div><div style>I thought that it could be a problem with the bridging, so I also tested to connect containers directly with a pair of veth interfaces. Results were slightly better (1 Gb/s) but still waaaay below what I expected.</div>
<div style><br></div><div style>Is this expected? (I think it's not; but I might be missing some essential point about virtual machines here.)</div><div style><br></div><div>I wrote a handful of scripts to easily test the different scenarios:</div>
<div><a href="https://gist.github.com/jpetazzo/6645281">https://gist.github.com/jpetazzo/6645281</a></div><div><br></div><div>I don't know if it's a problem with the network namespaces or the veth device (I'm considering trying an elaborated test with multiple physical interfaces to rule veth out of the equation, but I don't have the required hardware here).</div>
<div><br></div><div>All ideas are welcome!<br clear="all"><div><br></div>-- <br><div dir="ltr"><a href="https://twitter.com/jpetazzo" target="_blank">@jpetazzo</a><div>Latest blog post: <a href="http://blog.docker.io/2013/09/docker-joyent-openvpn-bliss/" target="_blank">http://blog.docker.io/2013/09/docker-joyent-openvpn-bliss/</a></div>
</div>
</div></div>