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

Re: [MirageOS-devel] network performance question



Hi,

Network performance on MirageOS Solo5/ukvm is not optimized yet, but you can try bridged networking by the following:

(I guess you have a bridge device "virbr0" created by libvirt)
ip tuntap add tt0 mode tap
ip link set dev tt0 up
brctl addif virbr0 tt0
sudo ./ukvm-bin --net=tt0 iperf_server.ukvm

Kind regards

-- 
Takayuki Imada

On Oct 24, 2017, at 0:45, Justin Cinkelj <justin.cinkelj@xxxxxxx> wrote:

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
_______________________________________________
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®.