<div dir="ltr">I guess that explains that indeed. I think I've tried disabling the TCP seg offload months ago but I just can't remember exactly.<div style>Regardless, thank you for your reply - at least it's not just me.</div>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">On 26 April 2013 15:32, Ivo Smits <span dir="ltr"><<a href="mailto:Ivo@ufo-net.nl" target="_blank">Ivo@ufo-net.nl</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    Hello Max,<br>
    <br>
    There was apparently a bug in the VirtIO code, which has just been
    fixed in VirtualBox 4.2.12 (according to the changelog,
    <a href="https://www.virtualbox.org/wiki/Changelog" target="_blank">https://www.virtualbox.org/wiki/Changelog</a>). I recently discovered my
    VirtIO network interfaces were slow as well, probably because of the
    same bug. Still running VirtualBox 4.2.8, it was solved by disabling
    "TCP Segmentation Offloading" in the guest OS as suggested in the
    bug report at <a href="https://www.virtualbox.org/ticket/9380" target="_blank">https://www.virtualbox.org/ticket/9380</a>.<br>
    <br>
    Ivo<br>
    <br>
    <div>Op 26-4-2013 1:01, Maxime Dor schreef:<br>
    </div>
    <blockquote type="cite"><div><div class="h5">
      <div dir="ltr">Hello people,
        <div><br>
        </div>
        <div>For a while now, I have been facing some odd
          network speed issues with Virtualbox but wasn't able to
          pint-point it down... until now !</div>
        <div>Please bare with me while I explain this.</div>
        <div><br>
        </div>
        <div>To give you some background story, the first time
          I met this issue was while testing the speed of a proftpd
          server running in a Debian Wheezy VM on a Linux Wheezy host,
          both 64 bits.</div>
        <div>
          Following the good recommendations of the User Manual aswell
          as the forum folks, I decided to set the NIC to VirtIO. I was
          also doing this speed test via an OpenVPN connection.</div>
        <div>The speed was always stuck at 8 Mbps for some odd
          reason. A bit out of time, I discarded this as the VPN's
          fault, without further investigation.</div>
        <div><br>
        </div>
        <div>Some months later, I was installing some software
          (Sage BOB50) in a Win 7 64 bits VM which requires access to a
          Sybase DB, running in a Win2k8 R2 64 bits VM.</div>
        <div>And disaster happened : for some reason, the
          software was just terribly slow and took minutes to open,
          where between physical machines, it took seconds.</div>
        <div>I was initialy stuck with this issue, searching in
          the guest OS & in the software configuration for some
          answers. After some check, I noticed that the speed was of 8
          Mbps (oh oh).</div>
        <div>At that point, I decided to change the adapter
          types and when both VMs had the Intel 1000T desktop, it was a
          revelation. The program now opened in seconds !</div>
        <div><br>
        </div>
        <div>I have finally been around to do some proper speed
          tests, and they might not be concluant as such and I will let
          you, devs especially, decide.</div>
        <div>To perform the tests, I have setup 2 Win7 64 bits
          VMs with 3 adapters each.</div>
        <div>Virtualbox version is 4.2.8, on Debian Wheezy with
          Testing repos.</div>
        <div><br>
        </div>
        <div>Each VM adapater was only left with IPv4 enabled,
          everything disabled. Static IP were used & NetBios
          disabled, no other config was changed.</div>
        <div><br>
        </div>
        <div>VM 1 has the following :</div>
        <div>
          <div>NIC 1:           MAC: 080027DE6FE9, Attachment: Internal
            Network 'virtio2virtio', Cable connected: on, Trace: off
            (file: none), Type: virtio, Reported speed: 0 Mbps, Boot
            priority: 0, Promisc Policy: deny, Bandwidth group: none</div>
          <div>NIC 2:           MAC: 0800274EBA58, Attachment: Internal
            Network 'virtio2intel', Cable connected: on, Trace: off
            (file: none), Type: virtio, Reported speed: 0 Mbps, Boot
            priority: 0, Promisc Policy: deny, Bandwidth group: none</div>
          <div>NIC 3:           MAC: 080027C92821, Attachment: Internal
            Network 'intel2intel', Cable connected: on, Trace: off
            (file: none), Type: 82540EM, Reported speed: 0 Mbps, Boot
            priority: 0, Promisc Policy: deny, Bandwidth group: none</div>
          <div><br>
          </div>
          <div>VM 2 has the following :</div>
          <div>
            <div>NIC 1:           MAC: 08002780E65C, Attachment:
              Internal Network 'virtio2virtio', Cable connected: on,
              Trace: off (file: none), Type: virtio, Reported speed: 0
              Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth
              group: none</div>
            <div>NIC 2:           MAC: 080027009399, Attachment:
              Internal Network 'virtio2intel', Cable connected: on,
              Trace: off (file: none), Type: 82540EM, Reported speed: 0
              Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth
              group: none</div>
            <div>NIC 3:           MAC: 080027592203, Attachment:
              Internal Network 'intel2intel', Cable connected: on,
              Trace: off (file: none), Type: 82540EM, Reported speed: 0
              Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth
              group: none</div>
            <div><br>
            </div>
            <div>The idea is to have 3 networks :</div>
            <div>- the first with each VM with VirtIO</div>
            <div>- the 2nd with only one VirtIO and the 82540EM</div>
            <div>- the last with only 82540EM.</div>
            <div><br>
            </div>
            <div>Following IPs were given :</div>
            <div>virtio2virtio - <a href="http://10.0.0.1/24" target="_blank">10.0.0.1/24</a> - <a href="http://10.0.0.2/24" target="_blank">10.0.0.2/24</a><br>
            </div>
            <div>virtio2intel - <a href="http://10.0.1.1/24" target="_blank">10.0.1.1/24</a> - <a href="http://10.0.1.2/24" target="_blank">10.0.1.2/24</a><br>
            </div>
            <div>intel2intel - <a href="http://10.0.2.1/24" target="_blank">10.0.2.1/24</a> - <a href="http://10.0.2.2/24" target="_blank">10.0.2.2/24</a><br>
            </div>
            <div><br>
            </div>
            <div>Finally, I've run iperf 3 times with 3
              different TCP window (2000, 20000, 200000). I have put the
              results on pastebin to avoid a huge spam : <a href="http://pastebin.com/niPzc1ep" target="_blank">http://pastebin.com/niPzc1ep</a></div>
            <div><br>
            </div>
            <div>To sum it up :</div>
            <div>- virtio2virtio is capped at 8 Mbps average
              for a TCP window of 2000, same speed as I saw in my 2
              speed issues, has acceptable speed at 20000 but slows down
              at 2000000.</div>
            <div>- virtio2intel gets faster & faster as the
              window increase but is still quite slow from what we could
              expect (244 Mbps @ 200000)</div>
            <div>- intel2intel is the fastest, I get 875 Mbps @
              20000 and 1,3 Gbps @ 200000 !</div>
            <div><br>
            </div>
            <div>Am I missing something obvious here? Is it a
              bug? From the User Manual, VirtIO should be fastest, but
              clearly is not and can cause issues.</div>
            <div>I haven't had time to perform this under a
              Linux guest but from my experience, the issue is the same.</div>
            <div>Please let me know if you need more info on my
              setup.</div>
            <div><br>
            </div>
            <div>Best regards,</div>
            <div>Max</div>
          </div>
        </div>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      </div></div><pre>_______________________________________________
vbox-dev mailing list
<a href="mailto:vbox-dev@virtualbox.org" target="_blank">vbox-dev@virtualbox.org</a>
<a href="https://www.virtualbox.org/mailman/listinfo/vbox-dev" target="_blank">https://www.virtualbox.org/mailman/listinfo/vbox-dev</a>
</pre>
    </blockquote>
    <br>
  </div>

<br>_______________________________________________<br>
vbox-dev mailing list<br>
<a href="mailto:vbox-dev@virtualbox.org">vbox-dev@virtualbox.org</a><br>
<a href="https://www.virtualbox.org/mailman/listinfo/vbox-dev" target="_blank">https://www.virtualbox.org/mailman/listinfo/vbox-dev</a><br>
<br></blockquote></div><br></div>