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

Re: [MirageOS-devel] network performance question



Hi,

> So Linux VM drops from 45 Gbit/s to 14 Gbit/s, but that is still much higher 
that 2.4 Gbit/s.
> More ideas what could I change?
>
> Or maybe additional question. What number did other get with iperf on 
MirageOS?
> Takayuki, you are author of MirageOS iperf implementation). What numbers 
would you expect?
I think the results you obtained are not so different from what I observed.
(I confirmed two MirageOS Solo5/ukvm VMs for a client and a server achieved 
about 800Mbps on a physical server having Intel IvyBridge Xeon 2.4GHz)

I have been trying to increase the network performance by utilizing Netmap in 
MirageOS Solo5/ukvm, but performance by Linux VM would be higher ...

Kind regards,

--
Takayuki Imada


On 10/25/17 4:54 PM, Justin Cinkelj wrote:
The particular Linux VM is used as build machine, and I guess most of used ram 
was disk cache.
I can run it with lower RAM, for sure. I can also set vCPU count to 1.
I will also try to run it without vhost (if I figure out how to do that :).

Ok, I added:
|<interface type='bridge'>
   <driver name='qemu'/>|

And VM starts without vhost now (I also rmmod vhost/vhost_net, and they didn't 
get loaded back at VM start), has 1 CPU and 512 MB memory.
I had to also pin emulator threads (to pCPU 1 == 0x02 mask):
[root@jcpc includeOS] # virsh emulatorpin mirageOS 1
[root@jcpc includeOS] # virsh emulatorpin mirageOS
emulator: CPU Affinity
----------------------------------
        *: 1
[root@jcpc includeOS] # virsh vcpuinfo mirageOS
VCPU:           0
CPU:            1
State:          running
CPU time:       212.1s
CPU Affinity:   -y------
[root@jcpc includeOS] # virsh iothreadinfo mirageOS
No IOThreads found for the domain

Result:
justin_cinkelj@jcpc:~$ taskset 0x04 iperf -c 192.168.122.20 -t10
------------------------------------------------------------
Client connecting to 192.168.122.20, TCP port 5001
TCP window size:  119 KByte (default)
------------------------------------------------------------
[  3] local 192.168.122.1 port 60196 connected with 192.168.122.20 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  16.2 GBytes  13.9 Gbits/sec
top:
%Cpu0  :  1.0 us,  0.0 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.0 hi, 0.0 si,  0.0 st
%Cpu1  : 61.4 us, 38.6 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi, 0.0 si,  0.0 st
%Cpu2  :  0.0 us, 17.0 sy,  0.0 ni, 82.0 id,  0.0 wa,  1.0 hi, 0.0 si,  0.0 st
...
   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM TIME+ COMMAND
10172 qemu      20   0 5967952 695524  28268 R 100.0  2.1 7:47.57 
qemu-system-x86
14303 justin_+  20   0  165816   1848   1680 S  16.8  0.0 0:00.71 iperf

So Linux VM drops from 45 Gbit/s to 14 Gbit/s, but that is still much higher 
that 2.4 Gbit/s.
More ideas what could I change?

Or maybe additional question. What number did other get with iperf on MirageOS?
Takayuki, you are author of MirageOS iperf implementation). What numbers would 
you expect?

Thank you
Justin


On 10/24/2017 04:08 PM, Takayuki Imada wrote:
Justin,

Thanks for providing the information.
I would like to add the following information:

1. total CPU utilization (host + VM)
>   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
This indicates about 1.8 CPU cores were assigned for the Linux VM iperf 
receiver.
>   24788 root      20   0  528708  16148  16064 R 100.0  0.0   0:04.35 ukvm-bin
On the other hand, the MirageOS iperf server was running with just 1 CPU core 
in total.

2. Memory size assigned(used)
The above results indicate that the Linux VM was using 2.3G physical memory 
space,
but the MirageOS VM was running with 512MB physical memory size(this size is 
fixed in Solo5/ukvm).

I guess that the above two points and networking implementation difference 
between Linux and MirageOS affected the performance difference you observed.

Kind regards,



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