Merhaba,
Sorun: Veeam One ve vCenter ile monitör edildiğinde ESX/ESXi host’lar da kullanılabilir CPU kaynağı olmasına rağmen bir çok VM’in CPU READY değerlerinin olması gerekenden yüksek olduğu görülmektedir.
Bulgular: VMware best practice’lerine göre CPU ready değerinin VM’ler için %5’in üzerinde olmamasını gerekmektedir. ESX/ESXi host’lar üzerinden monitör edildiğinde CPU ready değerini % olarak değil millisecond olarak verir. CPU Ready değerini % değere çevirmek için aşağıdaki formül uygulanabilir.
Bilgi: Esxtop komutu ile host üzerinden CPU Ready değeri % değer olarak görülebilir ama bizim örneklendirdiğimiz ekran görüntüleri vCenter server’dan alındığından % değeri yerine ms değerleri vardır.
- Realtime: CPU summation value / 200
- Past Day: CPU summation value / 3000
- Past Week: CPU summation value / 18000
- Past Month: CPU summation value / 72000
- Past Year: CPU summation value / 864000
Error ve warning aldığımız VM’lerde CPU Ready değeri %10 ile %22 arasında değişmektedir.
Bu VM’lerin çalıştığı datastore’ları monitör ettiğimizde disk erişimlerinde high read-write I/O latency yaşandığını gördük. Örnek ekran görüntüsü:
(Ekran görüntülerindeki VM isimleri ve tarihler güvenlik nedeniyle silinmiştir)
Error ve warning aldığımız VM’lerde CPU Ready değeri %10 ile %22 arasında değişmektedir.
Bu VM’lerin çalıştığı datastore’ları monitör ettiğimizde disk erişimlerinde high read-write I/O latency yaşandığını gördük. Örnek ekran görüntüsü:
Bu bulguların haricinde aşağıdaki ekran görüntüsünde görüldüğü üzere gibi bazı host’larda swap kullanımı nedeniyle CPU SWAP WAIT değeri best practice’lerin önerdiğinden yüksekdir.
Cpu swap wait değeri açıklaması: CPU time spend waiting for swap-in. (VM’in swap yapmasından kaynaklı CPU bekleme değeri)
Bir çok VM’e kullanmadığı halde birden çok vCPU tanımlanmıştır. Bu durum tüm sistemin CPU performansını etkileyecektir. Aşağıdaki ekran görüntüsünde 1-2-4 vCPU’lu VM’lerin CPU kullanımları görülmektedir.
Cpu kullanımı ile ilgili best practise döküman linki;
http://www.vmware.com/pdf/Perf_Best_Practices_vSphere5.0.pdf (19.sayfa)
Çözüm Önerilerimiz:Önerilerimizi birkaç başlık altında toplayabiliriz:
1- 1- Disk I/O latency değerlerinin 30ms altına düşürülmesi (Vmware best practise’de maksimum 30ms tavsiye edilmektedir.
2- 2- VM memory resource allocation limit’inin “minimum Limit = VM memory size” şeklinde değiştirilmesi.
3- 3- CPU kullanımı az olan VM’lere tanımlanmış birden çok vCPU’ların tek vCPU olarak değiştirilmesi.
4- Politika olarak kesin ihtiyaç haricinde VM’lere birden fazla vCPU tanımı yapılmasından kaçınılması gerekir
İyi çalışmalar,
İsmail YILMAZ