Azure Monitor ile Processor ve Process Performans Analizi makalemiz içinde Azure Monitor Ajan ‘ı yüklü bulunan Windows Server üzerinde Processor (CPU) yani işlemcilerin performans analizini ve bu işlemcilerin her bir işlem için (Process) harcamış olduğu kaynak tüketimini, dar boğazını ve bu iki bileşenin Processor ve Process ‘in işletim sistemi üzerinde ki iş yüklerini, dar boğazı, olması beklenen yada olması beklenmeyen davranış analizini yapacak ve Windows Sunucularımız üzerinde işlemci kaynaklı dar boğazları ve kullanım durumlarını rapor edeceğiz.

Bildiğiniz gibi bir Windows Server üzerinde ki dar boğazı özellikle işlemci ve işlem özelinde oluşan dar boğazı tespit etmek zordur ve bu tespiti yapmak ve performans problemini tespit etmek, yetersiz işlemcileri belirlemek yada daha fazla işlem gücü isteyen işlemlerin hangi zaman dilimlerinde dar boğaza düştüğünü belirlemek için geniş çevrede analizler yapılması gerekmektedir.

Azure Monitor ile Processor ve Process Performans Analizi makale serisi bu sebep ile üç başlıktan oluşmakta ve her bir makalede ilgili konulara derin analizleri gerçekleştireceğiz.

  1. Azure Monitor ile Processor ve Process Performans Analizi (System)
  2. Azure Monitor ile Processor ve Process Performans Analizi (Processor) (Bu makale)
  3. Azure Monitor ile Processor ve Process Performans Analizi (Process)

1. Azure Monitor ile Processor ve Process Performans Analizi (Processor)

Azure Monitor ile Processor ve Process Performans Analizi makale serimizin bu bölümünde Windows Server üzerinde ki işlemci kaynak kullanım değerlerini inceleyeceğiz ve işlemci üzerinde ki dar boğazların analizlerini gerçekleştireceğiz.

Bu makale içinde odaklanacak olduğumuz Performans değerleri üç tane olup aşağıda bu performans değerlerini görebilirsiniz.

  • Processor(*)\% User Time
  • Processor(*)\% Privileged Time
  • Processor(*)\% Interrupt Time

1.1 Processor(*)\% User Time

Windows Server üzerinde bulunan Processor(*)\% User Time performans değeri Windows işletim sistemi üzerinde bulunan uygulamaların işlemlerini yürütmek için harcadığı zamanı yüzdesel olarak göstermektedir.

Processor(*)\% User Time performans değeri yüksekse eğer ve bu yüksek değerler belirli zamanlarda değil de sürekli, tek bir çizgi halinde ise Windows işletim sistemi üzerinde bulunan işlemcinin iş yükleri için yetersiz kaldığı anlamına gelecektir.

Bu değerin rutin çalışma dönemi için de %65 %80 oranında olması beklenmektedir. Eğer değerler bunun üzerindeyse Windows işletim sisteminin sahip olduğu işlemciler üzerinde güncelleme ve yükseltme yapma zamanı geldiğini anlayabiliriz.

Processor(*)\% User Time performans değerinin boşta değeri yoktur ve özet ile işlemcinin gerçek kullanım değerini bizlere göstermektedir.

Azure Monitor ile Processor(*)\% User Time değerlerini aşağıda ki Azure monitor sorgusu ile tespit edebilirsiniz. Bu sorgu çalıştırmış olduğunuz zaman dilimi içinde her 5 dakikalık aralıklar ile Processor(*)\% User Time değerlerini bizlere gösterecektir.

Copy to Clipboard

Processor User Time

Processor User Time

1.2 Processor(*)\% Privileged Time

Windows Server üzerinde bulunan Processor(*)\% Privileged Time performans değeri Windows işletim sistemi üzerinde bulunan işlemlerin disklere yazılma işlemi sırasında harcamış olduğu zamanın yüzdesini gösterir.

Processor(*)\% Privileged Time performans değerinde tespit edilecek olan yüksek değerler tek başına yorumlanmaz. Eğer bu değerde yüksek yüzdeler görürsek bu yüksek değerlerin görülmüş olduğu zaman dilimleri #PerfMon Logical Disk değerleri ile karşılaştırılmalıdır.

İşlemci üzerinde ki Privileged Time performans değerleri özellikle SQL Server gibi veri tabanına sahip uygulamaları barındıran iş güçleri için önemlidir. Çünkü bu değer yoğun disk okuma işlemlerinin yapılmış olduğu iş yüklerinde bazen yüksek değerlerde görülmektedir.

Privileged Time performans değerini yüksek gördüğünüz zaman incelememiz gerekli olan diğer performans sayaçlarını aşağıda ki linklerden öğrenebilirsiniz.

SQL Server özelinde örnek verelim, Privileged Time performans değeri yüksek ise bu yüksek olmuş olduğu zaman diliminde işlemler işlemciden disk yazma işlemi için mi beklemekte, disk üzerinde mi bir dar boğaz var, diskin yazma okuma hızları mı yetersiz, disk kuyruk sırası dolumu gibi analizler ortak bir şekilde incelenmelidir.

Privileged Time performans değeri windows işletim sisteminin disk kaynakları ile bire-bir orantılıdır ve eğer problem disk üzerindeyse işlemci üzerinde yapacak olduğunuz iyileştirmeler performans probleminize çözüm oluşturmayacaktır.

Azure Monitor ile Processor(*)\% Privileged Time değerlerini aşağıda ki Azure monitor sorgusu ile tespit edebilirsiniz. Bu sorgu çalıştırmış olduğunuz zaman dilimi içinde her 5 dakikalık aralıklar ile Processor(*)\% Privileged Time değerlerini bizlere gösterecektir.

Copy to Clipboard

Processor Privileged Time

1.3 Processor(*)\% Interrupt Time

Windows Server üzerinde bulunan Processor(*)\% Interrupt Time performans değeri Windows işletim sistemi üzerinde bulunan işlemlerin işlemleri yarıda kestiği, tamamlayamadığı süreyi yüzdesel olarak gösterir.

Bir windows işletim sistemi üzerinde başlayan bir işlem, işlemci kaynaklı olarak yarıda kaldıysa, devam edemediyse, yada işlemci kuyruğunda bulunan işlemler zaman aşımına uğradıysa bu sayaç bizlere bunu yüzdesel olarak göstermektedir.

Yoğun iş yüklerinin olduğu Windows işletim sistemlerinde belirli aralıklar ile oluşan ve eşik değeri 10 ve altı olan Interrupt Time performans değerleri kabul görmektedir.

Eğer bu değer 15 ve üzeri görülüyorsa işlemci özelinde fiziksel yada mantıksal bir problem olduğu anlamına gelir ve üreticiye raporlanması gerekmektedir.

Belki sahip olduğunuz bir problem üretici tarafından çıkarılan bir güncelleme paketi ile giderilmiştir ve siz de bu güncellemeye sahip olmadığınız için bu hataları alıyorsunuzdur.

Bu değerin firmware sürümü güncel olmayan sistemlerde 15 ve üzerinde görülme olasılığı yüksektir.

Azure Monitor ile Processor(*)\% Privileged Time değerlerini aşağıda ki Azure monitor sorgusu ile tespit edebilirsiniz. Bu sorgu çalıştırmış olduğunuz zaman dilimi içinde her 5 dakikalık aralıklar ile Processor(*)\% Privileged Time değerlerini bizlere gösterecektir.

Copy to Clipboard
Processor Interrupt Time

Processor Interrupt Time