Reliability and Performance Monitor

tarafından 6 Nisan 2010 tarihinde Microsoft kategorisine yazıldı.

Windows NT ‘den bu yana Windows Performance Monitor fazla değişikliğe uğramadı. Buna rağmen bu aracı kullanan birilerini gördüm dersem yalan olur. Bu durumun sebebi sanırım Performance Monitor’ün kullanımının zor ve sıkıcı olması. Ayrıca sonuçları yorumlamayı bilmiyorsanız Performans Monitor’ü kullanmak anlamsız hale geliyor.  Çok sayıda performance monitor sayacı var ve birçok windows uygulaması da kendi sayaçlarını performans monitorun içerisine ekliyor. Performans Monitor’ü çok az sayıda insanın kullanmasının diğer bir sebebi de performance Monitor’un ürettiği değerleri yorumlayan kullanışlı araçların var olmasıdır.

Performans izleme günümüzde büyük önem kazanıyor. Bunu söylememin sebebi günümüzde sanal makinelerin (Virtual machines) kullanımının artması. Sanal Server ortamında birçok sanal makine tek bir fiziksel makine üzerinde yer alıyor. Eminim sanallaştırmanın bu kadar popüler olmasının gerçek sebebinin server donanımınından ekonomik olarak gerçek değerinin altında yararlanılması olduğunu duymuşsunuzdur. Sanallaştırma, şirketlere fiziksel donanımlarını daha etkin kullanma imkanı sağlar ve server’ların sağlamlaştırılmasına  olanak tanır.

Burada dikkat çekici bir nokta değinirsek, sanal server’ların fiziksel serverlardan daha fazla kaynağa ihtiyaç duymalarıdır. Bunun sebebi ise zaten fiziksel kaynakları kullanan bir işletim sisteminin var olması ve sanal serverın bunun üzerinde kurulu olmasıdır.  Microsoft’un sanallaştırma alanında yeni ürünlerinden birisi olan Hyper-V, donanım isteklerini kullanıcı işletim sistemi aracılığıyla karşılayan sanallaştırma ürünlerine oranla direk donanımla bağlantıya geçmesi nedeniyle daha verimli çalışmaktadır. Buna rağmen kullanıcı işletim sistemi hala önemli miktarda sistem kaynaklarını tüketmektedir. Örneğin bir Hyper-V sisteminde disk giriş çıkış işlemleri kullanıcı işletim sistemi vasıtasıyla koordine edilir.

Değinmek istediğim nokta, sanallaştırma gerçekten iyi çalışıyor gibi gözükmesine rağmen, server’ları sanallaştırmaya başladığınız anda sistem kaynaklarını boşa harcamamanız kritik derecede önem taşıyor. Hepsinden öte sanal bir server tarafından boşa harcanan sistem kaynakları diğer bir sanal server tarafından kullanılıyor olabilir.  Performance monitoring size hangi serverın kaynakları aşırı kullandığını ve hangi serverların kaynakları optimum seviyede kullandığını gösteriyor. Bu bilgi bize sanal serverlarımızı daha verimli kullanmak için yapmamız gerekenleri gösteriyor.

Sanal server ortamınızı optimize etme gibi bir düşünceye sahip olmasanız bile, fiziksel serverınızı sanallaştırmayı düşünüyorsanız performance monitoring kesinlikle önemlidir. Çünkü sadece performance monitoring aracılığıyla serverın  kaynaklarınızı ne kadar verimli kullandığını görebilirsiniz.

Performance Monitoring İşlemi

Şimdilik sizi verimli olmaya yönlendiren hızlı optimizasyonun püf noktasından bahsedeceğim.  Eğer Windows Server 2008 Reliability and Performance Monitor konsolunu açarsanız, ve Reliability and Performance container’ına tıklarsanız ağağıdakine benzer bir ekranla karşılaşırsınız.

clip_image002

Dikkatinizi çekmek istediğim nokta, her ne kadar bu ekran kaynakların tüketimine ilişkin toplam değerleri yansıtsa da siz CPU, Disk, Network yada Memory’ye tıklayarak her bir işlemin ayrı ayrı kaynakları ne kadar tükettiklerine ulaşabilirsiniz. Aşağıdaki şekilde bunun bir örneğini görüyorsunuz.

clip_image004

Her bir prosesin ne kadar sistem kaynağı kullandığına bakarak, o prosesin çalışmasının gerçekten gerekli olup olmadığını belirlememiz gerektiğini düşünüyorum.  Google’da yapacağınız bir arama ile her bir prosesi ve ne için kullanıldığını bularak o prosesin sisteminiz için gerekli olup olmadığına karar verebilirsiniz.

İşlemci Kaynaklarını Görüntüleme

İşlemcinin yüzde kaçta çalıştığı, hangi işlemin, işlemci kaynaklarının ne kadarını tükettiğini görebilirsiniz. Her ne kadar bu teknik bazı durumlarda kullanışlı olsa da kimi zaman yanıltıcı olabilir.

clip_image006

Bu ekranın yanıltıcı olabileceğini söylememdeki neden CPU tablosunun CPU kaynaklarının kullanımının ortalama değerini göstermesidir. Ortalama değerin bilinmesinin yararlı olmasının yanında, bu ekran görüntüsünü aldığım serverın 4 tane işlemciye sahip olduğunu da belirteyim. Bu işlemcilerden bazıları diğerlerinden daha çok çalışıyor olabilir. Özet tabloya bakmak, sistemdeki işlemcilerinin ne oranda kullanıldığını görebileceğimiz anlamına gelmez.

Daha detaylı bilgilde etmek için Performance Monitor container’ınaa tıklayalım. Bunu yaptığımızda counter’ları ekleyip kaldırabileceğiniz ekranla karşılaşıyoruz. Counter’lar sistemin tam performansının ayrı ayrı nesneler için görüntülenmesine yarayan mekanizmalardır. Performans monitörü kapsamlı bir işlem haline getiren şeylerden biri de binlerce farklı counter’ın olmasıdır. Verilen bir durumda hangi counter’ların önemli olduğunu ve counter’ların verdiği rakamları yorumlamayı bilmemiz gerekir.

Eğer işlemcinin gerçek performansını görmek istiyorsanız,  çizelgeye bazı performans counter’larını  eklemek için “+” işaretli ikona tıklayın. Eğer işlemci nesnesini açarsanız %Processor Time isminde bir sayacı göreceksiniz. Bu counter işlemcinin tam kapasitesinin yüzde kaçında çalıştığını gösterir. Aşağıdaki şekilde  işlemcilerin toplam tüketim miktarını yada her bir işlemcinin ayrı ayrı çalışma oranını seçebileceğiniz seçenekleri görebilirsiniz.  Buradan istediğiniz nesneleri seçip ekleyebilirsiniz, ekledikten sonra OK’ye tıklayın.

clip_image008

Performans Monitor ekranına geri döndüğünüzde, aşağıdaki  gibi ayrı bir işlemci nesnesinin eklendiğini görebilirsiniz. Kırmızı çizgi bütün işlemcilerin kullanımının toplam miktarını gösterir. İşlemci nesnesini çizelgeye eklememe rağmen, ne olup bittiğini görmek biraz zor. Çünkü o anda işlemci kullanımı çok az. Bu problemi çözmenin bir yolu grafiğin scalasını değiştirmektir.

clip_image010

Bunu yapmak için bütün sayıcıları seçin, sağ tıklayıp Scale Selected Counters komutunu seçin.

clip_image012

İşlemcinin toplam tüketim miktarını gösteren grafiğin yanıltıcı olduğunu söylemiştim. Yukarıdaki ekrana bakarsanız bazı işlemcilerde ani sıçramaların olduğunu göreceksiniz. Fakat bu ani sıçramalar işlemcilerin toplam tüketim değerlerini gösteren grafikte gösterilmiyor. Çünkü diğer işlemciler boşta.

Data Collector Set

Windows NT Performans izleme ile Windows Server 2003 Performans izleme işlemleri birbirleriyle benzerdir. Her iki versiyonda da zorluklar vardır, çünkü counter’ların  ürettikleri değerleri yorumlamak zordur. Bunun yanında  Windows NT’de Counter’lar oldukça azdır. O zamandan bu yana yüzlerce counter üretildi. Windows Server 2003 ve Windows Server 2008’de Performans izlemede zorlayıcı olan taraflardan biri de hangi counter’ları kullanmanız gerektiğini bilmenizi gerektirmesidir.

Hemen hemen bütün durumlara karşı kullanabileceğimiz bir counter mevcuttur. Yalnızca belli başlı counter’ları kullanmak, sisteminizle ilgili tüm durumları izlemenize yardımcı olmaz. Bu yüzden çözmek istediğiniz sistemin belli başlı kısımları için o kısımla ilgili counterları kullanmalısınız. Fakat hangi counter’ları kullanacağını nasıl bileceksiniz? Bazı durumlarda belli bir olay için yüzlerce counter olabilir. Bazı counter’lar çok önemliyken bazıları ise kıyıda köşede kalmıştır ve sadece microsoft yardım personeli tarafından kullanılır.

Data collector setleri belirli sorun çözme görevlerinde kullanılan gruplanmış counter’lardan oluşur. Windows Vista ve Windows Server 2008 dört adet data collector setine sahiptir :

·         LAN Diagnostics

·         System Diagnostics

·         System Performance

·         Wireless Diagnostics

Siz de ayrıca kendinize özel data collector seti yaratabilirsiniz.

Data Collector Set’in Anatomisi

Data collector setlerine Reliability and Performance Monitor aracılığıyla erişebilir ve aynı konsoldan yönetebilirsiniz. System container’ı genişlettiğinizde, daha önce bahsettiğim dört adet gömülmüş olan data collector setini göreceksiniz. Eğer bunlardan birisini seçerseniz, aşağıdaki gibi onunla ilgili olan ve data collector seti oluşturan elemanları göreceksiniz.

clip_image014

Herhangi bir data collector set’i seçtiğinizde, Windows o data collector seti oluşturan elemanları listeleyecektir. Yukarıdaki şekile baktığınızda, o data collector seti oluşturan elemanlardan sadece birisinin performans counter olduğunu farketmişsinizdir. Geri kalanlar trace yada Configuration olarak sınıflandırılmıştır.  İlerleyen bölümlerde Trace ve Configuration’dan bahsedeceğim.

Performance Counter listing’e iki kez tıklarsanız, aşağıdaki gibi Performans Counter özellikleri ekranı karşınıza çıkar. Performance Counter özellikleri ekranı data collector setini oluşturan birçok performans counter’ını içerir. Counter’ların rastgele sıralandığını görürsünüz. Listedeki ilk counter Network Interface’tir. Onun altındaki counter’ların hepsi network interface ait counter’lardır.

clip_image016

Gördüğünüz gibi data collector set’ler hangi performans counter’larını kullanılması gerektiğini Windows’a söylerler ve sizin seçmenize gerek kalmaz. Tabi ki siz yine de elde ettiğiniz değerleri yorumlamayı bilmelisiniz. Data Collector setleri bu yorumlama sürecinde size yardımcı olacaktır.

Microsoft her ne kadar data collector setlerini sizin için üretmiş olsa da bilmeniz gereken şey onları sizin çalışırmanız gerektiğidir. Data Collector setleri çalıştrmak içi yapmanız gereken tek şey çalıştırmak istediğiniz data collector sete sağ tıklayıp start demenizdir.

Veri toplamanın anlık bir şey olmadığını bilmemiz gerekir. Data Collector Setlerini kesin performans verileri almak için belli bir süre çalıştırmalıyız. Buradaki data collector setin ihtiyaç duyacağı süre hangi performans counter’larının kullanıldığına ve neyi başarmaya çalıştığınıza göre değişir.

Eğer yeterli veri topladığınıza karar verdiyseniz data collector setini durdurmalısınız. Bunu yapmak için data collector setine sağ tıklayıp stop demeniz yeterli olacaktır.

Default data collector setleri ile çalışırken çok fazla seçeneğinizin olmadığını belirteyim. Siz bir data collector set yarattığınızda ayrıca bir çizelge belirme şansınız da oluyor ve data collector set belirlenen zamanda başlayıp belirlenen zamanda sonlanıyor. Günün belirli zamanlarına karşılık gelen bir çizelgede veri toplama seti bu özellik ile çok kullanışlı olabilir.

Sonuçları Analiz Etmek

Data Collector Setlerinin iyi bir yanı da sizi bütün verilerin ne anlama geldiklerini hesaplamada yalnız başınıza bırakmamasıdır. Reliability and Performance Monitor konsolu toplanan verilerden elde edilen bir raporu oluşturma yeteneğine de sahiptir.

Son toplanan verilerden çıkarılan raporu görüntülemek istiyorsanız data collector setine sağ tıklayıp, çıkan menüde Latest Report seçeneğini seçmelisiniz. Raporun içeriği ve formatı hangi data collector setini test ettiğinize göre değişir. Aşağıdaki şekli inceleyerek bu raporun nasıl bir şey olduğu hakkında fikir sahibi olabilirsiniz.

clip_image018

Soldaki konsol ağacına baktığınızda ortalarda reports konteynırının olduğunu görürsünüz. Eğer bu konteynırı genişletirseniz çeşitli data collector setlerine karşılık gelen alt konteynırları görürüsünüz. Alt konteynırlar data collector setlerin üretmiş olduğu raporları içerirler. Örneğin solda sistem performansı kutucuğunun altında yeni yaratılmış ve kaydedilmiş iki farklı raporu görebilirsiniz. Onun üstüne tıklayarak raporu görüntüleyebilirsiniz.

Raporlar default olarak kısaltılmış şekilde görüntülenirler. Ekranda gördüğünüz gibi rapor çeşitli kısımlara ayrılmıştır ver kısımların üst çubuğunun sağında alt üst şeklinde oklar bulunur. Alt ok tuşuna basıp o kısmı genişletebilir ve ayrıntılı bilgilere ulaşabilirsiniz.

Gördüğünüz gibi Data Collector Seti sisteminizin performansını anlamınızı giderek basitleştirmiştir. Microsoft bütün performans izleme senaryoları için bir data collector seti oluşturmamıştır. Siz kendiniz oluşturabilirsiniz . Bunu yapmak için konsolda User Defined container ‘a sağ tıklayıp çıkan menüde New  Data Collector Sets komutunu seçmelisiniz ve gelen ekranda boşlukları doldurmalısınız.

Reliability and Performance Monitor  ile ilgili makalemizin sonuna geldik. Umarım yararlı olmuştur.

Bu yazı blog üzerinde Tayfun DEĞER tarafından paylaşılmıştır. 2009 yılında açılan blog kısa zaman içerisinde büyük bir izleyici kitlesine sahip olmuştur.Tayfun DEĞER danışmanlık ve eğitimler vermektedir. vExpert 2013-2015, VCP5, VCP5-DT, VCP-Cloud ve MCSE sertifikalarına sahiptir.Twitter 'dan @tayfundeger veya RSS ile sitedeki değişiklikleri takip edebilirsiniz.