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

Re: [MirageOS-devel] network performance question



Hi,

This is similar to what I observed previously, not so surprising.
But, I want you to check how many CPU cores are totally utilized on both the 
Linux VM and MirageOS configurations.
I guess only 1 CPU core are utilized on the MirageOS configuration whereas 
multiple CPU cores are utilized on the Linux configuration.

Kind regards,

--
Takayuki Imada


On 10/24/17 9:07 PM, Justin Cinkelj wrote:
I tried to run iperf on XEN
mirage configure -t xen && make depend && make -j8
sudo xl create iperf_server.xl -c
#
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.1 port 45946 connected with 192.168.122.100 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   596 MBytes   500 Mbits/sec

And now I got even worse result. What else could I try/change?

Justin


On 10/24/2017 08:05 AM, Justin Cinkelj wrote:
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 
<mailto: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 <mailto: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


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