I'm developing some network applications on both linux (server) and windows 7 (client).

However, I'm wondering if virtual box is to blame for the slow network.

I thought I'd try using iperf to see if my app was the problem and to see the real throughput.

C:\Users\XEN\Downloads>iperf.exe -c 192.168.2.104 -u -p 3000 -w 16000
------------------------------------------------------------
Client connecting to 192.168.2.104, UDP port 3000
Sending 1470 byte datagrams
UDP buffer size: 15.6 KByte
------------------------------------------------------------
[148] local 192.168.2.105 port 58801 connected with 192.168.2.104 port 3000
[ ID] Interval       Transfer     Bandwidth
[148]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec
[148] Server Report:
[148]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec  3.086 ms    0/  892 (0%)
[148] Sent 892 datagrams

Linux side:

matt@blaze:~/dev$ iperf -s -p 3000 -u
------------------------------------------------------------
Server listening on UDP port 3000
Receiving 1470 byte datagrams
UDP buffer size:   122 KByte (default)
------------------------------------------------------------
[  3] local 192.168.2.104 port 3000 connected with 192.168.2.105 port 58800
[ ID] Interval       Transfer     Bandwidth       Jitter   Lost/Total Datagrams
[  3]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec  3.625 ms    0/  894 (0%)
[  4] local 192.168.2.104 port 3000 connected with 192.168.2.105 port 58801
[  4]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec  3.086 ms    0/  892 (0%)

That seems awefully slow! am I using iperf correctly? Is this a problem with virtualbox?

UPDATE: It seems that TCP fares rather better. I get 460Mbits/s. UPDATE2: 1.05Mbit/s over the linux loopback interface with UDP! is Linux kernel the culprit or is iperf just broken for UDP?

Any ideas?

link|improve this question

feedback

1 Answer

up vote 0 down vote accepted

To answer my own question.

Tried this on the client side.

iperf.exe -c 192.168.2.104 -b 1g

Heres the results

C:\Users\XEN\Downloads>iperf.exe -c 192.168.2.104 -b 400m
WARNING: option -b implies udp testing
------------------------------------------------------------
Client connecting to 192.168.2.104, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 8.00 KByte (default)
------------------------------------------------------------
[148] local 192.168.2.105 port 50973 connected with 192.168.2.104 port 5001
[ ID] Interval       Transfer     Bandwidth
[148]  0.0- 4.5 sec  52.9 MBytes  99.6 Mbits/sec
[148] Server Report:
[148]  0.0- 4.4 sec  52.9 MBytes  99.8 Mbits/sec  0.864 ms    0/37719 (0%)
[148] Sent 37719 datagrams

It seems that either windows or virtualbox has some UDP limitations. I can't get it to run past 100Mbit. On linux, I actually exceeded 1Gbit with the same command. I notice that the windows buffer size is only 8Kb. On linux it is 122Kb. So I'll try increasing it.

EDIT: In summary, yes it's a little slow. I'll compare with VMWare or try NAT network instead.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.