[Openstack] Performance issue on single physical host
Vikram Chhibber
vikram.chhibber at gmail.com
Thu Dec 22 04:52:15 UTC 2016
Hi,
I was able to resolve the performance related issue by changing the cpu
allocation ratio from 16 to lower value.
Thanks
On Tue, Dec 20, 2016 at 6:09 PM, Vikram Chhibber <vikram.chhibber at gmail.com>
wrote:
> Thanks Konstantin.
> This does not look like any specific issue with the boot of the instance.
> The issue is that overall system gets slow as multiple instances are
> running.
> Since this is nested virtualization, I also checked the kvm acceleration
> in the first leve VM which looks ok to me.
>
> The strange thing is that there are too many interrupts of type
> "Rescheduling interrupts".
>
> If I bring up one instance, things are fast and here is the vmstat:
> r b swpd free buff cache si so bi bo in cs us sy id
> wa st
>
> 1 1 0 2714652 270040 656980 0 0 0 32 514 825 0 16 80
> 4 0
>
> 3 0 0 2714652 270040 656980 0 0 0 32 573 904 1 20 76
> 3 0
>
> 0 0 0 2713908 270044 656996 0 0 0 32 526 829 1 15 80
> 2 1
>
> 0 0 0 2713940 270044 656996 0 0 0 32 478 795 1 11 85
> 3 0
>
>
> vmstat when two instances are running.
>
> r b swpd free buff cache si so bi bo in cs us sy id
> wa st
>
> 3 1 0 2715332 269700 656128 0 0 0 56 504 779 3 32 64
> 1 0
>
> 4 0 0 2715704 269700 656128 0 0 0 48 536 801 4 34 57
> 5 0
>
> 2 0 0 2715752 269700 656128 0 0 0 36 554 920 3 34 58
> 6 0
>
> 21 2 0 2713700 269708 656124 0 0 0 176 601 837 11 39
> 44 5 1
>
>
> Thanks
>
>
>
>
> On Mon, Dec 19, 2016 at 1:58 AM, Kostyantyn Volenbovskyi <
> volenbovsky at yandex.ru> wrote:
>
>> Hi,
>>
>> a few thoughts:
>> -analyze what exactly time is spent on using Nova logs
>> (api+scheduler+conductor+compute)+Neutron (agent, bind port
>> stuff)+Libvirt/QEMU logs. Use req-id and UUID of instance to identify the
>> ’slow’ case across logs.
>> Take a look at the create instance’ flow that is present in bunch of
>> websites in internet and make a draft of distribution of time for each stage
>> (side note: maybe there is tool that will allow such thing?). Turn on
>> debug logging in Nova and Neutron to narrow it down in case necessary .
>> -compare CPU/RAM consumption in normal case and ‘slow’ case’
>>
>> How do I bound my vCPU all the way to the physical host?
>>
>> Answer is CPU pinning. But yup, that is about CPU utilization on host ,
>> not related to time of VM launch.
>> Note that for general-purpose case CPU pinning can be an overkill in a
>> way that general-purpose relies
>> on scheduling by host OS and it should not be problematic. And most
>> configurations run with oversubscription of CPU 16 which is default (1
>> physical CPU=16 virtual)
>> 'Specific purpose' cases are like NFV/Telco where CPU pinning is
>> much-much more used.
>>
>> BR,
>> Konstantin
>>
>>
>> On Dec 19, 2016, at 5:27 AM, Vikram Chhibber <vikram.chhibber at gmail.com>
>> wrote:
>>
>> Hi All,
>>
>> I am using Kilo release 1:2015.1.4-0ubuntu2 for my lab deployment on
>> single physical host. The issue is that I am getting very low performance
>> when I launch multiple VM instances. The first one boots up within seconds
>> but the second takes noticeable time. If I instantiate the third instance
>> when two instances are already running, it may take 30 minutes to come up.
>> Moreover, the CPU idle % for a given instance keeps decreasing as number of
>> running instances increase.
>> I am suspecting that this behavior is because be lack of bounding of
>> vCPUs with physical CPUs.
>> Because of single node installation, the compute node itself becomes
>> virtualized and run my instances within it. How do I bound my vCPU all the
>> way to the physical host? I did not see any documentation regarding this
>> for Kilo release and there is no mention of bounding CPU for the
>> virtualized compute node on single node installation.
>>
>> This is the specification of the host:
>> Architecture: x86_64
>> CPU op-mode(s): 32-bit, 64-bita
>> Byte Order: Little Endian
>> CPU(s): 36
>> On-line CPU(s) list: 0-35
>> Thread(s) per core: 2
>> Core(s) per socket: 18
>> Socket(s): 1
>> NUMA node(s): 1
>> Vendor ID: GenuineIntel
>> CPU family: 6
>> Model: 63
>> Stepping: 2
>> CPU MHz: 1200.000
>> BogoMIPS: 4599.94
>> Virtualization: VT-x
>> L1d cache: 32K
>> L1i cache: 32K
>> L2 cache: 256K
>> L3 cache: 46080K
>> NUMA node0 CPU(s): 0-35
>>
>>
>> Spec. for the compute node:
>> Architecture: x86_64
>> CPU op-mode(s): 32-bit, 64-bit
>> Byte Order: Little Endian
>> CPU(s): 26
>> On-line CPU(s) list: 0-25
>> Thread(s) per core: 1
>> Core(s) per socket: 1
>> Socket(s): 26
>> NUMA node(s): 1
>> Vendor ID: GenuineIntel
>> CPU family: 6
>> Model: 6
>> Stepping: 3
>> CPU MHz: 2299.996
>> BogoMIPS: 4599.99
>> Virtualization: VT-x
>> Hypervisor vendor: KVM
>> Virtualization type: full
>> L1d cache: 32K
>> L1i cache: 32K
>> L2 cache: 4096K
>> NUMA node0 CPU(s): 0-25
>>
>>
>> Spec for my instance:
>> Architecture: x86_64
>> CPU op-mode(s): 32-bit, 64-bit
>> Byte Order: Little Endian
>> CPU(s): 4
>> On-line CPU(s) list: 0-3
>> Thread(s) per core: 1
>> Core(s) per socket: 1
>> Socket(s): 4
>> NUMA node(s): 1
>> Vendor ID: GenuineIntel
>> CPU family: 15
>> Model: 6
>> Stepping: 1
>> CPU MHz: 2299.994
>> BogoMIPS: 4599.98
>> Virtualization: VT-x
>> Hypervisor vendor: KVM
>> Virtualization type: full
>> L1d cache: 32K
>> L1i cache: 32K
>> L2 cache: 4096K
>> NUMA node0 CPU(s): 0-3
>>
>> Thanks
>> _______________________________________________
>> Mailing list: http://lists.openstack.org/cgi
>> -bin/mailman/listinfo/openstack
>> Post to : openstack at lists.openstack.org
>> Unsubscribe : http://lists.openstack.org/cgi
>> -bin/mailman/listinfo/openstack
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20161221/72f3b244/attachment.html>
More information about the Openstack
mailing list