[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MirageOS-devel] network performance question


  • To: mirageos-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Justin Cinkelj <justin.cinkelj@xxxxxxx>
  • Date: Mon, 23 Oct 2017 17:45:21 +0200 (CEST)
  • Delivery-date: Mon, 23 Oct 2017 15:45:37 +0000
  • List-id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
  • Thread-index: cAQikcgAfsWDbGs4vqvk8J0w9GZUtg==
  • Thread-topic: network performance question

Hi

I just tried to compile MirageOS, and wanted to test networking performance, to 
compare regular linux/ubuntu KVM VM vs. mirageOS:

Linux VM has IP 192.168.122.20:
ping 192.168.122.20
PING 192.168.122.20 (192.168.122.20) 56(84) bytes of data.
64 bytes from 192.168.122.20: icmp_seq=1 ttl=64 time=0.114 ms
...
20 packets transmitted, 20 received, 0% packet loss, time 19434ms
rtt min/avg/max/mdev = 0.116/0.157/0.193/0.027 ms

mirage VM has IP 192.168.122.100.
ping 192.168.122.100
PING 192.168.122.100 (192.168.122.100) 56(84) bytes of data.
64 bytes from 192.168.122.100: icmp_seq=1 ttl=38 time=0.090 ms
...
20 packets transmitted, 20 received, 0% packet loss, time 19490ms
rtt min/avg/max/mdev = 0.087/0.119/0.169/0.021 ms

So here mirage has lower latency, nice :)

But with iperf server on VM, and client on host:
(mirage iperf is from https://github.com/TImada/mirage_iperf)

ubuntu VM:
iperf -c 192.168.122.20 -t10
------------------------------------------------------------
Client connecting to 192.168.122.20, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.122.1 port 52674 connected with 192.168.122.20 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  52.9 GBytes  45.4 Gbits/sec
top:
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND     
                                              
 4401 qemu      20   0 6038648 2.309g  22968 S 100.0  7.4  43:24.27 
qemu-system-x86                                           
 4422 root      20   0       0      0      0 R  83.2  0.0   0:22.90 vhost-4401  
                                              
24759 justin_+  20   0  165812   1892   1728 S  51.5  0.0   0:03.91 iperf

mirage VM:
sudo ./ukvm-bin --net=tt0 iperf_server.ukvm
justin_cinkelj@jcpc:~/devel/orange$ iperf -c 192.168.122.100 -t10
------------------------------------------------------------
Client connecting to 192.168.122.100, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.122.101 port 44920 connected with 192.168.122.100 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  2.80 GBytes  2.40 Gbits/sec
top:
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND     
                                              
24788 root      20   0  528708  16148  16064 R 100.0  0.0   0:04.35 ukvm-bin

Now, I guess I'm doing something wrong. I would try bridged networking with 
mirage, but I don't know how.
What else could/should I change?

BTW, the tt0 network device was created with:
tunctl -t tt0
ip link set up dev tt0
ip addr add 192.168.122.101/26 dev tt0

Justin

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.