Ortak WQL İzleme Sorguları


12

Tipik Windows darboğazlarını izlemek için hangi WQL sorgularını kullanırsınız? 'Üst' veya 'netstat' gibi veri almak için hangisini kullanırsınız? Hangi aralıkta anket yaparsınız?

İşte yararlı bulduğum birkaç tane.

SELECT PercentDiskTime, AvgDiskQueueLength, DiskReadBytesPerSec, DiskWriteBytesPerSec FROM Win32_PerfFormattedData_PerfDisk_PhysicalDisk

SELECT Caption, CommittedBytes, AvailableBytes, PercentCommittedBytesInUse, PagesPerSec, PageFaultsPerSec FROM Win32_PerfFormattedData_PerfOS_Memory

SELECT PercentProcessorTime FROM Win32_PerfFormattedData_PerfOS_Processor

SELECT Caption, WorkingSet, PageFaultsPerSec,IOReadBytesPerSec, IOWriteBytesPerSec, ThreadCount, HandleCount FROM Win32_PerfFormattedData_PerfProc_Process

SELECT Caption, BytesReceivedPerSec, BytesSentPerSec FROM Win32_PerfFormattedData_Tcpip_NetworkInterface

Mükemmel şeyler, bu uygulama programcıları için de yararlıdır. Bu şeylerin çoğu doğrudan herhangi bir Win32 API çağrısı yoluyla kullanılamaz; WMI yararlıdır, ancak olması gerektiği kadar tartışılmamıştır!
Andon M. Coleman

Yanıtlar:


7

Bu gerçekten harika bir soru ve daha fazla sevgi kazanmamış bir utanç!

Temel darboğaz analizi teorisi, sistemi 4 çeşit sonlu kaynağa sahip bir kutu olarak ele almaktır: işlemci, bellek, disk ve . Bu yüzden kutunun sağlığını belirlemek için bunların her biri için temel numaralar almak istiyorum. Yorumlanması kolay sayılar istiyorum: yüksek kötü, düşük iyi. 0 en iyisidir, ancak asla mükemmel bir şekilde ulaşılamaz (sonuçta bilgisayarı çalışmak için satın aldık , ha?). Dört kaynağın hangisinin ana darboğaz olduğunu gördükten sonra, hangi programın veya sürecin tüm kaynakları yediğini belirlemeye devam edebilir ve bu kaynağı artırmam gerekip gerekmediğini veya kullanılacak programı / işlemi ayarlayıp ayarlamayacağımı öğrenmek için eğitimli bir karar verebilirim. kaynak daha az.

Bu makaleden kullandığım ana performans sayaçlarını WMIC sorguları olarak biçimlendireceğim , çünkü komut dosyası gerekli değil (kesinlikle mümkün olmasına rağmen!). Bu sorguların her birini doğrudan cmd konsoluna girebilirsiniz:

wmic path Win32_PerfFormattedData_PerfOS_System get ProcessorQueueLength

Yukarıdaki İşlemci Kuyruk Uzunluğu . Bu, CPU tarafından işlenecek sırada kaç iş parçacığının beklediğini gösterir. Yüksek sayılar kötü, düşük sayılar iyi. Genel olarak <10 değerinin sağlıklı bir sistem olduğunu düşünüyorum.

wmic path Win32_PerfFormattedData_PerfOS_Memory get PagesInputPerSec

Yukarıda Bellek, Saniyede Sayfa Girişi , sabit sayfa hatalarını çözmek için sayfaların diskten okunma hızıdır. Bir işlem, sanal bellekteki fiziksel bellekte olmayan ve diskten alınması gereken bir sayfaya başvurduğunda sert sayfa hataları oluşur. Bu sayaç, Perfmon'un grafik görünümünde en iyi şekilde çalışır. Sağlıklı (darboğazlı olmayan) bir bilgisayarda, veriler diskten RAM'e okunurken zaman zaman ani artışlar görürsünüz ve ne kadar çok ani yükselirsiniz ve ne kadar yüksek olursa, sistem o kadar fazla bellek sınırlandırılır. Sistem genellikle beş saniyeden daha uzun süreler boyunca sıfır olmayan bir değerde kalırsa, muhtemelen bellek darboğazlı bir sisteminiz vardır.

wmic path Win32_PerfFormattedData_PerfDisk_PhysicalDisk get AvgDiskQueueLength, name

Yukarıdaki FizikselDisk, Ortalama Disk Sırası Uzunluğu . Bellek darboğazları da aşırı sayfa dosyası değişimi nedeniyle diski aşağı çekeceğinden ve genellikle CPU kullanımını da artıracağından bunun sistem sağlığının temel göstergesi olduğunu düşünüyorum. Takılı her disk için bir öğe ve ayrıca tüm disklerin toplamını gösterir. İyi performans gösteren tek bir disk 2 veya daha düşük bir değere sahip olacaktır. Diziler için, iş mili sayısını kuyruk uzunluğuna bölün (ör: dizideki 4 iş milinin 8 = 2 kuyruk uzunluğuna bölünmesi, yani dizinin iyi performans gösterdiği anlamına gelir).

wmic path Win32_PerfFormattedData_Tcpip_NetworkInterface get OutputQueueLength, PacketsReceivedErrors, Name, currentbandwidth

Ve son olarak, yukarıda NIC performansımız var. Özellikle Ağ Arayüzü, Çıkış Kuyruğu Uzunluğu ve Alınan Paketler . Bu iki sayaç, kaç paketin gönderilmeyi beklediğini ve kaç tane gelen paketin muhtemelen yeniden iletimle sonuçlanan hatalara neden olduğunu bize bildirir. Her iki sayının da sıfır kalmasını istiyoruz. Bu sorguda da yararlı bilgi NIC geçerli bant genişliği olsun.

Hangi kaynağın aşırı kullanıldığını belirledikten sonra, hangi işlemin kaynak domuz olduğunu keşfetmek için genellikle İşlem Gezgini'ne veya Perfmon'un işlem nesnesine güveniyorum .


Ayrıntılı yazı için teşekkürler. Bir topluluk vikisine dönüştüm. Bu sorunun başka bir yönü yoklama aralıkları olduğunu düşünüyorum. Bazı darboğazlar sadece kısa bir süre için görünür, diğerleri daha az sıklıkta örneklenebilir.
Yancy

Çoğu zaman, proaktif olmaktan ziyade darboğazları reaktif olarak arar (çünkü bazı sorunlar gözlemlenmiştir) (sadece bir darboğaz durumunda uyanık olmak). Her iki durumda da, birkaç dakika boyunca bile perfmon grafikleri, zaman içinde anlık anlık görüntülerden çok daha yararlıdır.
quux
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.