As I mentioned on Wednesday there are 3 states which the VM can be in:
Threads – being
processed and allocated to a thread.
Ready – in a ready
state where they wish to process but aren’t able to.
Idle – where they
exist but don’t need to be doing anything at this time.
In the diagram below
you can see that work has moved over the threads to be processed and there is
some available headroom. Work that is waiting to be processed requires 2 CPU’s
so is unable to fit and creates wasted space that we are unable to use at this
time.
We need to remove a VM before we can put a 2 CPU VM on to a thread and
remain 100% busy.
In the meantime other VM’s are coming along and we now have a 4vCPU VM
accumulating Ready Time.
2 VM’s moves off but the 4vCPU VM waiting cannot move on as there are
not enough vCPU’s available.
It has to wait and other work moves ahead of it to process.
Even when 3vCPU’s are available it is still unable to process and will
be ‘queue jumped’ by other VM’s who require less vCPU’s.
Hopefully that is a clear illustration of why it makes sense to reduce
contention by having as few vCPUs as possible in each VM.
Ready Time impacts on performance and needs to be monitored. On Monday I'll be dealing with Monitoring Memory.
Phil Bell
Consultant
No comments:
Post a Comment