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

Re: [MirageOS-devel] network performance question



KVM is than not optimized (yet). In which setup is expected best (network) performance? XEN maybe?

Thanks for instruction about manual bridged tap device creation.

BR Justin

On 10/24/2017 04:02 AM, Takayuki Imada wrote:
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®.