[Openstack] Poor instance network performance

Rick Jones rick.jones2 at hpe.com
Thu Dec 17 18:20:16 UTC 2015


On 12/17/2015 08:11 AM, Satish Patel wrote:
 > Following is TOP command on guest machine, at this point i am getting
 > ping breaks

Just to clarify, when you say "getting ping breaks" you mean that is 
when you start seeing pings not getting responses yes?

 > top - 16:10:30 up 20:46,  1 user,  load average: 4.63, 4.41, 3.60
 > Tasks: 165 total,   6 running, 159 sleeping,   0 stopped,   0 zombie
 > %Cpu0  : 15.1 us, 12.3 sy,  0.0 ni, 60.9 id,  0.0 wa,  0.0 hi,  0.3 
si, 11.4 st
 > %Cpu1  : 22.9 us, 17.2 sy,  0.0 ni, 51.4 id,  0.0 wa,  0.0 hi,  0.3 
si,  8.2 st
 > %Cpu2  : 28.8 us, 22.4 sy,  0.0 ni, 47.5 id,  0.0 wa,  0.0 hi,  1.0 
si,  0.3 st
 > %Cpu3  : 16.6 us, 15.0 sy,  0.0 ni, 66.4 id,  0.0 wa,  0.0 hi,  0.3 
si,  1.7 st
 > %Cpu4  :  9.8 us, 11.8 sy,  0.0 ni,  0.0 id, 75.4 wa,  0.0 hi,  0.3 
si,  2.6 st
 > %Cpu5  :  7.6 us,  6.1 sy,  0.0 ni, 81.4 id,  0.0 wa,  0.0 hi,  4.2 
si,  0.8 st
 > %Cpu6  :  8.1 us,  7.4 sy,  0.0 ni, 83.0 id,  0.0 wa,  0.0 hi,  1.4 
si,  0.0 st
 > %Cpu7  : 17.8 us, 17.8 sy,  0.0 ni, 64.1 id,  0.0 wa,  0.0 hi,  0.3 
si,  0.0 st
 > KiB Mem :  8175332 total,  4630124 free,   653284 used,  2891924 
buff/cache
 > KiB Swap:        0 total,        0 free,        0 used.  7131540 
avail Mem

75% wait time on a vCPU in the guest suggests the application(s) on that 
guest are trying to do a lot of I/O and bottlenecking on it.  I am not 
all that well versed on libvirt/KVM, but if there is just the one I/O 
thread for the VM, and it is saturated (perhaps waiting on disc) doing 
I/O for the VM/instance, that could cause other I/O processing like 
network I/O to be held-off, and it could be that either the transmit 
queue of the interface in the guest is filling as it goes to send the 
ICMP Echo Replies (ping replies), and/or the queue for the instance's 
tap device (the inbound traffic) is filling as the ICMP Echo Requests 
are arriving.

I would suggest looking further into the apparent I/O bottleneck.

Drifting a bit, perhaps...

I'm not sure if it would happen automagically, but if the "vhost_net" 
module isn't loaded into the compute node's kernel you might consider 
loading that.  From that point on, newly launched instances/VM on that 
node will start using it for networking and should get a boost.  I 
cannot say though whether that would bypass the VMs I/O thread. Existing 
instances should pick it up if you "nova reboot" them. (I don't think a 
reboot initiated from within the instance/VM would do it).

Whether there is something similar for disc I/O I don't know - I've not 
had to go looking for that yet.

happy benchmarking,

rick jones
http://www.netperf.org/






More information about the Openstack mailing list