Aracılığıyla paylaş


Windows Server'da LDAP sorgu performansını analiz etmek için Event1644Reader.ps1 kullanma

Bu makalede, Windows Server'da Active Directory olay kimliği 1644'ün analizine yardımcı olan bir betik açıklanmaktadır. Betiği kullanma adımlarını gözden geçirin ve sorunlarınızı analiz edin.

Özgün KB numarası: 3060643

Event1644Reader.ps1 betiği hakkında

Active Directory olay kimliği 1644, Dizin Hizmeti olay günlüğüne kaydedilir. Bu olay, Active Directory etki alanı denetleyicileri tarafından hizmet veren pahalı, verimsiz veya yavaş Basit Dizin Erişim Protokolü (LDAP) aramalarını tanımlar. NTDS Genel olay kimliği 1644, Active Directory veritabanındaki ziyaret edilen nesne sayısına, döndürülen nesne sayısına veya etki alanı denetleyicisindeki LDAP arama yürütme süresine göre Dizin Hizmetleri olay günlüğüne LDAP aramalarını kaydedecek şekilde filtrelenebilir. Olay kimliği 1644 hakkında daha fazla bilgi için bkz . Düzeltme 2800945 Active Directory olay günlüğüne performans verileri ekler.

Event1644Reader.ps1, kaydedilmiş Dizin Hizmeti olay günlüklerinde barındırılan 1644 olaydan verileri ayıklayan bir Windows PowerShell betiğidir. Ardından, yöneticilerin bu sorguları oluşturan etki alanı denetleyicileri ve istemcileri tarafından hizmet edilen LDAP iş yükleri hakkında içgörüler elde etmelerine yardımcı olmak için bu verileri bir Microsoft Excel elektronik tablosundaki bir dizi özet tabloya aktarır.

Betiği edinme

Betiği, Active Directory'de pahalı, verimli olmayan ve uzun süre çalışan LDAP sorgularını bulma ile ilgili Temel Altyapı ve Güvenlik Blogu gönderisinden edinebilirsiniz.

Not

Betik, blog gönderisine dosya adı Event1644Reader.zip

Betik Merkezi sorumluluk reddi
Örnek betikler herhangi bir Microsoft standart destek programı veya hizmeti altında desteklenmez. Örnek betikler, herhangi bir garanti olmadan OLDUĞU GIBI sağlanır. Microsoft, satılabilirlik veya belirli bir amaca uygunlukla ilgili zımni garantiler dahil ancak bunlarla sınırlı olmaksızın tüm zımni garantileri de reddeder. Örnek betiklerin ve belgelerin kullanımından veya performansından kaynaklanan tüm risk sizinle kalır. Hiçbir durumda Microsoft, yazarları veya betiklerin oluşturulması, üretimi veya teslimi ile ilgili herhangi bir kişi, örnek betiklerin veya belgelerin kullanımından veya kullanılamama durumundan kaynaklanan herhangi bir zarardan (bunlarla sınırlı olmaksızın, iş kârı kaybı, iş kesintisi, iş bilgisi kaybı veya diğer maddi kayıplar dahil) sorumlu tutulamaz, Microsoft'a bu tür hasarlar olabileceği bildirilmiş olsa bile.

Çevrimiçi eş desteği
Çevrimiçi eş desteği için The Official Scripting Guys Forum'a katılın! Örnek betiklerde geri bildirim sağlamak veya hataları bildirmek için bu betiğin Tartışmalar sekmesinde yeni bir tartışma başlatın.

Betiği kullanma

Olay kimliği 1644'te yakalanan LDAP sorgularını daha iyi analiz etmek için şu adımları izleyin:

  1. Sorun giderdiğiniz etki alanı denetleyicilerinin gelişmiş yakalama ** 1644 olay meta verilerini yakaladığından emin olun.

    Not

    Windows Server 2012 R2, LDAP sorgularının süresini ve diğer meta verileri kaydederek gelişmiş 1644 olay günlüğü ekledi. Geliştirilmiş 1644 olay günlüğü, düzeltme 2800945 tarafından Windows Server 2012, Windows Server 2008 R2 ve Windows Server 2008'e geri aktarıldı.

  2. Aşağıdaki Alan Mühendisliği kayıt defteri girişinin değerini 5 olarak ayarlayın: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics\Field Engineering

    Not

    Alan mühendisliği günlüğü ayrıntı düzeyinin 5 olarak ayarlanması, diğer olayların dizin hizmeti olay günlüğüne kaydedilmesine neden olur. Etkin olarak 1644 olay toplamadığınızda alan mühendisliğini varsayılan 0 değerine sıfırlayın. (Bu eylem yeniden başlatma gerektirmez.)

  3. Aşağıdaki kayıt defteri girdileri varsa, değerleri milisaniye cinsinden istenen eşiğe değiştirin. Belirli bir kayıt defteri girdisi yoksa, bu ada sahip yeni bir giriş oluşturun ve değerini milisaniye cinsinden istenen eşiğe ayarlayın.

    Kayıt defteri yolu Veri türü Varsayılan değer
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\Search Time Threshold (msecs) DWORD 30,000
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\Expensive Search Results Threshold DWORD 10,000
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\Inefficient Search Results Threshold DWORD 1,000

    Not

    • Alan Mühendisliği günlük düzeyi etkinleştirildiğinde ve Arama Süresi Eşiği (msecs) kayıt defteri girişi kullanılmadığında veya 0 olarak ayarlandığında, zaman eşiğinin varsayılan değeri 30.000 milisaniyedir. (Bu eylem yeniden başlatma gerektirmez.)
    • Stratejilerden biri hem Verimsiz Arama Sonuçları Eşiği hem de Pahalı Arama Sonuçları Eşiği kayıt defteri ayarları için kayıt defteri değerini ayarlamak ve ardından Arama Süresi saklama (msecs) ile tanımlanan olaylara odaklanmaktır. 100 milisaniye gibi daha büyük bir değerle başlayın ve ortamınızda gerçekleşen sorguları iyileştirdikçe değeri artımlı olarak azaltın.
    • Event1644Reader.ps1 birden çok etki alanı denetleyicisinden olayları ayrıştırabilir. LDAP aramalarını gözden geçirmek istediğiniz tüm etki alanı denetleyicilerinde alan mühendisliği, arama süresi, pahalı ve verimsiz kayıt defteri anahtarı ayarlarını yapılandırın.
  4. dosyasından Event1644Reader.ps1 dosyasını indirin Betiği Temel Altyapı ve Güvenlik Blog gönderisinden edinebilirsiniz Active Directory'de pahalı, verimsiz ve uzun süre çalışan LDAP sorgularını 1644 olayları içeren kayıtlı Active Directory Hizmeti EVTX dosyalarını analiz edecek bilgisayara bulma.

    Bu bilgisayarda Microsoft Excel 2010 veya sonraki bir sürüm yüklü olmalıdır ve betiğin ayrıştıracağı dizin hizmeti olay günlüklerini barındırmak için yeterli disk alanına sahip olmalıdır.

  5. 1644 olay günlüğünü etkinleştirdiğiniz etki alanı denetleyicilerinden 1644 olay içeren kaydedilmiş Dizin Hizmeti olay günlüklerini 1644 çözümleme bilgisayarına kopyalayın.

  6. Windows Gezgini'nde Event1644Reader.ps1 dosyasına sağ tıklayın ve powershell ile çalıştır'ı seçin.

    Bu adımın ekran görüntüsü aşağıdadır:

    Event1644Reader.ps1 dosyasına sağ tıklayıp PowerShell ile çalıştır'ı seçin.

  7. PowerShell Yürütme İlkesi'ni gerektiği gibi atlamak için Y tuşuna basın.

  8. Ayrıştırılacak EVTX dosyalarının yolunu belirtin.

  9. İstemi aşağıdaki ekran görüntüsü olarak gördüğünüzde aşağıdaki eylemleri gerçekleştirin:

    Event1644Reader.ps1 dosyasını çalıştırma hakkında PowerShell komutu.

    • Enent1644Reader.ps1 dosyasıyla aynı dizinde bulunan tüm EVTX dosyalarını ayrıştırmak için Enter tuşuna basın.
    • drive:\path Ayrıştırılacak EVTX dosyalarını içeren yolu yazın.

    Not

    Event1644Reader.ps1, betik her çalıştırıldığında hedeflenen yolda bulunan tüm üst düzey dizin hizmeti olay günlüklerinde 1644 olaylarını ayrıştırıyor.

  10. Verileri gözden geçirmek ve sekme dizilerinde gezinmek için çalışma sayfasını açın ve ardından Excel elektronik tablosunu gerektiği gibi kaydedin. Çalışma sayfasındaki sekmeler hakkında daha fazla bilgi için, 1644Reder.ps1tarafından oluşturulan Excel elektronik tablosunun İzlenecek Yol bölümüne bakın.

    Not

    *Araç tarafından oluşturulan .csv dosyalar otomatik olarak kaldırılmaz. Araştırmanız tamamlandıktan sonra *.csv dosyalarını temizlemeyi göz önünde bulundurun.

Daha fazla bilgi

Event1644Reader.ps1 tarafından oluşturulan Excel elektronik tablosunun kılavuzu

Event1644Reader.ps1, kaydedilmiş Dizin Hizmeti olay günlüklerindeki 1644 olaydan meta verileri ayıklar ve bu verileri bir Microsoft Excel elektronik tablosundaki bir dizi sekmeli çalışma sayfasına aktarır.

Aşağıdaki tabloda her sekmede yer alan veriler özetlenmiştir:

Sekme Açıklama
RawData Olay kimliği 1644 tarafından yakalanan her veri alanı ayrık sütunlara aktarılır. Veri Filtreleme, herhangi bir sütun üst bilgisinde sıralayabileceğiniz veya filtreleyebileceğiniz şekilde otomatik olarak etkinleştirilir. Birden çok etki alanı denetleyicisinden 1644 olay günlüğü PowerShell betiği veya yönetici tarafından belirtilen dizinle aynı dizinde bulunuyorsa, belirli etki alanı denetleyicilerini hedefleyen LDAP sorgularını görüntülemek için filtreleri kullanın.
Top_StartingNode Belirli bir örnekte LDAP sorguları tarafından hedeflenen dizin bölümlerinin sıralı listesini sağlar. Sorguların çoğu tek bir bölümde (şema, yapılandırma veya etki alanı) oluşuyorsa, bu bölümü kalan özet tablolara filtre olarak eklemeyi göz önünde bulundurun. Detaylandırma ayrıntıları en üst filtreleri (LDAP sorgusu gibi), bu sorguları veren istemci IP'lerini ve bu sorguların tarih ve saat damgalarını gösterir.
Top_Callers LDAP sorguları veren istemci IP adreslerini genel toplamın yüzdesiyle azalan arama sayısı sırasına göre listeler. Çalışan toplamın yüzdesi, en çok arayanları belirlemenize yardımcı olur. (Diğer bir ifadeyle, sorununuzun çok fazla sayıda çağrı olduğu varsayılarak ilk 10 veya 20 arayan sorgu biriminin yüzde 80'ini oluşturuyor olabilir). Detaylandırma ayrıntıları, belirli bir örnekte her istemci tarafından verilen LDAP sorgularının filtrelerini ve tarih ve saat adımlarını gösterir.
Top_Filters En sık verilen LDAP sorgularını azalan birim sırasına göre listeler. Buna ortalama arama süresi dahildir. Detaylandırma ayrıntıları LDAP istemcisinin IP adresini ve her sorgunun gönderildiği tarih ve saati gösterir.
Arayanlara Göre TotalSearchTime İstemci IP adreslerini örnekteki tüm LDAP sorgularında toplam arama süresinin azalan sırasına göre listeler. Detaylandırma ayrıntıları LDAP sorgularını ve her sorgunun verildiği tarih ve saati tanımlar.
Filtrelere Göre TotalSearchTime LDAP sorgularını toplam arama süresinin azalan sırasına göre listeler. Detaylandırma ayrıntıları LDAP istemcisinin IP adresini ve eşleşen her sorgunun gönderildiği tarih ve saati gösterir.
Arama zamanı dereceleri Zamana dayalı dörttebirlik dönemlerde gerçekleşen LDAP sorgularının sayısını görüntüler. Yavaş sorgular kötü. Çok sık düzenlenmiyorsa daha hızlı sorgular iyi olur. Microsoft Exchange, Exchange sunucuları tarafından verilen LDAP sorgularının 50 milisaniye veya daha kısa bir zaman içinde çözülmesini istiyor. Bu nedenle, ilk dörttebirlik grup bu "demet" zamanına odaklanır.
Boş Özet Bu, senaryonuza özgü verileri göstermek için gerektiği gibi değiştirebileceğiniz boş bir özet tablodur.

Senaryo analizi

LDAP sorguları yavaşsa veya etki alanı denetleyicilerinde CPU kullanımı yüksekse, bunun nedeni aşırı verilen sorgular, verimsiz sorgular, bu sorguların bir birleşimi, Zaman Uyumsuz İş Parçacığı Kuyruğu (ATQ) havuzu tükenmesi veya çok sayıda değişiklik bildirimi olabilir.

İstemciler pahalı, verimsiz veya çok sayıda LDAP sorgusu verirse, Event1644Reader.ps1 kullanarak istemcilerin IP adreslerini tanımlamak üzere etki alanı denetleyicilerinde veri toplayın. Ardından, bu tür sorguları istemci bilgisayarlardaki işlem kimliğine, işlem adına veya çağıran uygulamaya eşleyin.

Aşağıdaki tabloda bu sorun için olası iyileştirmeler listelemektedir.

İyileştirme/azaltma Özet
Aşırı iş yükünü durdurun. Hizmet durmalarına çok sayıda veya LDAP sorgusu neden oluyorsa, en çok çağrı yapan istemcilere odaklanın ve aşırı iş yükünün kaynağını belirlemek ve ortadan kaldırmak için çalışın.

Uygulamaları tanımlamak için olası seçenekler arasında PROCMON, ETL/ETW izleme ve istemcide LDAP sorguları oluşturan uygulamayı tanımlamak için hata ayıklama analizi sayılabilir. Bir diğer strateji de, üst düzey hizmetlere yönelik ikiye bölme yaklaşımını kullanmak veya LDAP sorguları oluşturan uygulamaları kaldırmaktır. Verilen sorgular, çağrı yapan uygulamayı veya işlemi etkileyebilir.
Güncelleştirilmiş bir LDAP sorgu iyileştiricisi yükleyin. Windows Server 2012 R2, çoğu sorgu için performansı geliştiren güncelleştirilmiş bir LDAP sorgu iyileştiricisi içerir. Windows Server 2012 R2'nin alt kümeleri , düzeltme 2862304 Windows Server 2008 R2 ve Windows Server 2012'ye geri gönderilir.
İstemcilerin site için en uygun etki alanı denetleyicilerine sorgu gönderdiğine emin olun. WAN üzerinden LDAP sorguları göndermek, LDAP sorgusunun etki alanı denetleyicisine teslim edilmesine ve istemciye yanıt verilmesine ağ gecikmesi getirir. Active Directory'deki istemci ve sunucu bilgisayarları için Active Directory sitelerinin ve alt ağ tanımlarının mevcut olduğundan emin olun.

Uygulamaların uzak site etki alanı denetleyicilerine veya yalnızca site için en uygun etki alanı denetleyicileri mevcut olduğunda okunabilir etki alanı denetleyicilerine sabit kodlanmış başvuruları olmadığından emin olun.
Sorguların verilme sıklığını azaltmak için yazılım geliştiricileriyle birlikte çalışın. Bu, önbelleğe alma kullanımını içerir. Verimli bir şekilde verilen sorgular bile, çok sık sorgular verildiğinde uygun boyutta ve yapılandırılmış bir etki alanı denetleyicisini yenebilir.
Uygulamaların ağ, LDAP ve CPU yükünü azaltmak için sorgu birimlerini azaltması veya sorgu sonuçlarını önbelleğe almaları gerekebilir.
LDAP sorgusunu daha hızlı yürütülecek şekilde iyileştirin. Sorgu söz dizimlerinin daha hızlı yürütülmesi için yeniden yapılandırılması gerekebilir.
Sorgu öğelerini filtrenin içinde sola veya sağa taşımak performansı artırabilir.
Çift "değil" eklemek sorgu performansını artırabilir.
Ağaçta daha düşük sorgular başlatarak ziyaret edilen nesne sayısını azaltmayı göz önünde bulundurun.
Sorgular tarafından döndürülen öznitelik sayısını azaltın.
Gerektiğinde Active Directory özniteliklerine dizinler ekleyin. Dizin eklemek sorgu performansını geliştirebilir. Bu, veritabanı boyutunu artırmanın yan etkisine sahiptir ve dizin oluşturma sırasında Active Directory çoğaltmasını geçici olarak geciktirebilir.
Sorgu iyileştiricisinde ve diğer bileşenlerde bir kod hatası olup olmadığını belirleyin. LDAP sorgu iyileştiricisindeki ve diğer bileşenlerdeki hatalarda aktarım hızı azaltılabilir.

Bilinen sorun

Excel elektronik tablosundaki değerler İngilizce olmayan dilleri kullanan bilgisayarlarda düzgün görüntülenmez veya işlenmez.

Örneğin, Get-Culture Windows PowerShell cmdlet'i bölgesel ayarı aşağıdaki gibi gösterdiğinde bu durum bir bilgisayarda gerçekleşir:

PS C:\Windows\System32\WindowsPowerShell\v1.0> Get-Culture  
LCID Name DisplayName  
---- ---- -----------
1031 de-DE German (Germany)

PS C:\Windows\System32\WindowsPowerShell\v1.0> Get-UICulture

LCID Name DisplayName  
---- ---- -----------
1033 en-US English (United States)

Bu durumda, Excel elektronik tablosundaki sayılar aşağıdaki ekran görüntüsünde olduğu gibi işlenir:

Excel elektronik tablosu sorunundaki sayılar.

Bu sorunu çözmek için, Denetim Masası'ndaki Bölge ayarları öğesinde Ondalık simgesini nokta (.) olarak değiştirin.

LDAP sorguları hakkında daha fazla bilgi için şu bloga bakın: Active Directory'de pahalı, verimli olmayan ve uzun süre çalışan LDAP sorgularını bulma