Şimdi paylaş:
İçindekiler gizlemek

1. Giriş SQL Server performans izleyicisi

1.1 Nedir SQL Server Performans İzleyicisi?

SQL Server Performans izleme, bilgisayarınızın performansını ve sağlığını izleme, analiz etme ve yönetme sürecidir. SQL Server Veritabanları. Veritabanı sisteminizin çeşitli yönleri hakkında veri toplayıp yorumlayarak optimum performans sağlamayı, sorunları önlemeyi ve veritabanı sağlığını korumayı içerir.

Performans izleme, sorgu yürütme sürelerinin, kaynak kullanımının, dizin performansının, engelleme ve kilitlenmelerin ve veritabanı büyüme modellerinin izlenmesini kapsar. Bu sürekli gözetim, yöneticilerin olası sorunları kullanıcıları veya iş operasyonlarını etkilemeden önce tespit etmelerine yardımcı olur.

1.2 Performans İzlemenin Temel Faydaları

Etkili SQL Server Performans izleyicisi birçok kritik avantaj sağlar:

  • Proaktif sorun tespiti: Kullanıcıları veya iş operasyonlarını etkilemeden önce olası sorunları belirleyin ve ele alın
  • Verim iyileştirmesi: Genel veritabanı performansını iyileştirmek için darboğazları ve verimsizlikleri belirleyin
  • Kapasite planlaması: Geçmiş verilere dayanarak kaynak ihtiyaçlarını tahmin edin ve gelecekteki büyümeyi planlayın
  • Uyumluluk ve güvenlik: Düzenleyici gerekliliklere uyumu sağlayın ve şüpheli faaliyetleri tespit edin

1.3 Yaygın Performans Zorlukları

Uygun bir SQL veritabanı performans izleyicisi olmadan, kuruluşlar çeşitli risklerle karşı karşıya kalırlar:

  • İş operasyonlarını aksatan beklenmedik kesintiler
  • Kullanıcı deneyimini etkileyen zayıf uygulama performansı
  • Veri kaybı veya bozulması
  • Kaynakların verimsiz kullanımı gereksiz maliyetlere yol açar.
  • Hayal kırıklığına uğramış kullanıcılar ve potansiyel gelir kaybı

2023 IDC araştırmasına göre, veritabanı performans sorunlarının %65'i kötü izleme veya optimizasyon uygulamalarından kaynaklanıyor.

2. Windows Performans İzleyicisi'ni (PerfMon) Anlama

2.1 Windows Performans İzleyicisi nedir?

Windows Performans İzleyicisi (PerfMon), sistem kaynaklarını ve uygulama performansını izleyen yerleşik bir Windows aracıdır. SQL Server yöneticiler için PerfMon, hem işletim sistemi hem de SQL Server ölçümleri, kapsamlı performans analizleri için olmazsa olmaz hale getiriyor.

Windows Performans İzleyicisi (PerfMon)

PerfMon, performans istatistiklerini düzenli aralıklarla ölçer ve bu istatistikleri daha sonra analiz edilmek üzere dosyalara kaydeder. Veritabanı yöneticileri, zaman aralığını, dosya biçimini ve hangi istatistiklerin izleneceğini seçebilir. Araç, SQL Server-spesifik—sistem yöneticileri bunu Windows'un kendisini, Exchange'i, dosya sunucularını ve darboğaz yaşayabilecek herhangi bir uygulamayı izlemek için kullanır.

2.2 Performans İzleyicisini Başlatma

Performans İzleyicisini birkaç yöntem kullanarak başlatabilirsiniz:

  1. Tıkla Ana Sayfayazın perfmon Arama kutusunda, arama sonucundaki “Performand Monitor”e tıklayın:
    Windows arama kutusundan "PerfMon" yazıp başlatın.
  2. Basın Windows + Ryazın perfmon, ve bas Keşfet
    Windows çalıştırma kutusundan PerfMon'u başlatın.
  3. Şu yöne rotayı ayarla Kumanda panosu -> Sistem ve Güvenlik -> yönetimsel Araçlar -> performans izleyicisi
    PerfMon'u Denetim Masası -> Sistem ve Güvenlik -> Yönetim Araçları -> Performans İzleyicisi yolundan başlatın.

3. gerekli SQL Server Performans Sayaçları

3.1 Bellek Performans Sayaçları

Bellek sayaçları izleme için kritik öneme sahiptir SQL Server Performans, veritabanınızın yeterli bellek kaynağına sahip olup olmadığını gösterir.

Kullanılabilir MBayt

Bu sayaç, tahsis için hemen kullanılabilir fiziksel bellek miktarını gösterir. Oldukça sabit kalmalı ve ideal olarak 4096 MB'ın altına düşmemelidir. Düşük değerler, SQL Server'nin maksimum bellek ayarı varsayılan olarak bırakılır veyaSQL Server uygulamalar belleği tüketiyor.

Sayfa Yaşam Beklentisi

Sayfa Ömrü Beklentisi, bir sayfanın arabellek havuzunda referans alınmadan ne kadar süre (saniye cinsinden) kaldığını ölçer. Normal bir değer 300 saniye veya daha fazladır. Daha düşük değerler, bellek baskısı ve aşırı arabellek devrini gösterir ve bu da önbellek verimliliğini azaltır.

Arabellek Önbelleği İsabet Oranı

Bu sayaç, diskten okumak yerine SQL arabellek önbelleği (bellek) kullanılarak yanıtlanan veri isteklerinin yüzdesini gösterir. Genellikle %99'u karşılar veya aşar. Daha düşük değerler, SQL Server Daha fazla belleğe ihtiyaç duyuyor veya yeniden başlatmanın ardından hala ısınma aşamasında.

Bellek Bağışları Beklemede

Bu, bellekte bekleyen işlem sayısını gösterir SQL ServerNormal koşullar altında bu değer sürekli olarak 0 olmalıdır. Daha yüksek değerler, yetersiz bellek ayırmayı gösterir. SQL Server.

Hedef Sunucu Belleği ve Toplam Sunucu Belleği Karşılaştırması

Hedef Sunucu Belleği, ideal bellek miktarını gösterir. SQL Server kullanmak istiyor. Toplam Sunucu Belleği ne olduğunu gösterir SQL Server Şu anda kullanılmaktadır. Bu değerler arasındaki oran yaklaşık 1 olmalıdır. Önemli farklılıklar, bellek baskısı veya yetersiz kullanılabilir bellek olduğunu gösterebilir.

3.2 İşlemci Performans Sayaçları

CPU sayaçları, işlemci darboğazlarını belirlemeye ve nasıl çalıştığını anlamaya yardımcı olur SQL Server bilgi işlem kaynaklarını kullanır.

% İşlemci Süresi

Bu, işlemcinin boşta olmayan iş parçacıklarını yürütmek için harcadığı geçen sürenin yüzdesini ölçer. Aktif sunucularda değerler %100'e kadar yükselebilir, ancak %70-75'in üzerinde sürekli kullanım genellikle kullanıcılar için performans sorunlarına işaret eder. Eksik veya yetersiz dizinler genellikle yüksek CPU kullanımına neden olur.

% Ayrıcalıklı Zaman

İşlemci süresi, Kullanıcı modu ve Ayrıcalıklı (Çekirdek) modu işleme olarak ikiye ayrılır. Tüm disk erişimi ve G/Ç işlemleri Çekirdek modunda gerçekleşir. Bu sayaç %25'i aşarsa, sistem muhtemelen çok fazla G/Ç gerçekleştiriyor demektir. Normal değerler %5 ile %10 arasındadır.

İşlemci Kuyruk Uzunluğu

Bu sayaç, CPU kaynaklarını bekleyen iş parçacıklarını gösterir. Değerler sürekli olarak 1'in üzerindedir (işlem sırasında hariç). SQL Server (yedek sıkıştırma) CPU yükünü gösterir. Bu genellikle, bilgisayara başka uygulamaların yüklendiği anlamına gelir. SQL Server en iyi uygulamaları ihlal eden bir makine.

Bağlam Anahtarları/sn

Bu, işlemcinin iş parçacıkları arasında ne sıklıkla geçiş yaptığını ölçer. Aşırı bağlam geçişi performansı etkileyebilir ve yüksek sistem yüküne işaret eder.

3.3 Disk G/Ç Performans Sayaçları

Disk sayaçları, disk G/Ç'nin veritabanı sistemlerinde sıklıkla birincil darboğaz haline gelmesi nedeniyle SQL performans izleme için önemlidir.

% Disk Süresi

Bu, diskin okuma/yazma işlemleriyle meşgul olduğu sürenin yüzdesini kaydeder. Sürekli olarak %85'in üzerindeki değerler bir G/Ç darboğazına işaret eder. Disk, bellekten çok daha yavaş olduğundan, bu ölçümün azaltılması performansı artırır.

Ort. Disk sn/Okuma ve Ort. Disk sn/Yazma

Bu sayaçlar, okuma ve yazma işlemleri için ortalama süreyi (saniye cinsinden) ölçer. Ortalama değerler 10-20 ms'yi aşarsa, diskin verileri işlemesi çok uzun sürer. İşlem günlüğü sürücüleri özellikle hızlı yazma performansı gerektirir.

Disk Sırası Uzunluğu

Bu, diske okuma/yazma için bekleyen istekleri gösterir. 2'den (veya RAID dizileri için disk başına 2'den) sürekli olarak yüksek değerler, diskin G/Ç isteklerini karşılayamayacağını gösterir.

Disk Bayt/sn

Bu, diske/diskten veri aktarım hızını izler. Bu hız, diskin nominal kapasitesini aşarsa, Disk Kuyruğu Uzunluğunun artmasıyla gösterildiği gibi, veriler birikmeye başlar.

Disk Aktarımı/sn

Bu, disk üzerinde gerçekleştirilen okuma/yazma işlemlerinin sayısını izler. SQL Server Veri erişimi genellikle rastgeledir ve bu da sürücü kafasının hareketinden dolayı daha yavaştır. Bu değerin, disk sürücünüzün maksimum değerinin (standart sürücüler için genellikle 100/sn) altında kaldığından emin olun.

3.4 SQL Server Belirli Sayaçlar

3.4.1 Arabellek Yöneticisi Sayaçları

Arabellek Yöneticisi sayaçlarını izler SQL Server'nin bellek tamponu işlemleri:

  • Sayfa okuma/saniye: Fiziksel veritabanı sayfa okumalarının kümülatif sayısı
  • Sayfa yazma/saniye: Fiziksel veritabanı sayfa yazma işlemlerinin kümülatif sayısı
  • Tembel yazma/sn: Belleği boşaltmak için tembel yazıcı tarafından yazılan tampon sayısı
  • Kontrol noktası sayfaları/saniye: Kontrol noktası veya tüm kirli sayfaların temizlenmesini gerektiren diğer işlemler tarafından temizlenen sayfalar

3.4.2 SQL İstatistik Sayaçları

Bu sayaçlar şu konularda fikir verir: SQL Server sorgu işleme:

  • Toplu İstekler/sn: Sunucu tarafından alınan SQL toplu işlem isteklerinin sayısı. Bu, sunucu etkinliği için bir kıyaslama noktası görevi görür.
  • SQL Derlemeleri/sn: SQL derlemelerinin sayısı. Saniyedeki toplam Toplu İstek sayısının %10'u veya daha azı olmalıdır
  • SQL Yeniden Derlemeleri/sn: SQL yeniden derlemelerinin sayısı. Ayrıca, toplam Toplu İstek/sn'nin %10'u veya daha azı olmalıdır.

3.4.3 Genel İstatistik Sayaçları

  • Kullanıcı Bağlantıları: Sisteme bağlı kullanıcı sayısı. Zaman içinde bağlantı büyümesini izlemek için bir kıyaslama ölçütü olarak kullanılır.
  • Engellenen İşlemler: Engellenen işlemlerin mevcut sayısı. İdeal olarak 0 olmalıdır.

3.4.4 Bellek Yöneticisi Sayaçları

  • Bekleyen Hafıza Hibeleri: Çalışma alanı belleği izni bekleyen toplam işlem sayısı. İdeal olarak 0 olmalıdır.

4. Performans İzleyicisini Ayarlama SQL Server(Windows Vista / Server 2008 ve üzeri)

Öncelikle sayaçları daha kolay yönetebilmek için bir container oluşturmamız gerekiyor:

  • Windows Vista / Server 2008 ve sonraki sürümler için bu bölümde Veri Toplayıcı Kümeleri oluşturabilirsiniz.
  • Windows XP / Server 2003 ve önceki sürümler için, Sayaç Günlükleri oluşturabilirsiniz sonraki bölüm.

4.1 Veri Toplayıcı Setleri Nelerdir?

Veri Toplayıcı Setleri, performans sayaçlarını, olay izleme verilerini ve sistem yapılandırma bilgilerini tek bir toplama biriminde düzenler. Basit sayaç günlüklerinden daha fazla esneklik sağlar ve kapsamlı SQL veritabanı performans izleme için otomatik, planlı veri toplama olanağı sunar.

4.2 Veri Toplayıcı Seti Oluşturma

İzlemek için özel bir Veri Toplayıcı Seti oluşturun SQL Server performans sayaçları:

  1. Açık Performans İzleyicisi
  2. Genişletmek Veri Toplayıcı Setleri
  3. Sağ tıklatın Kullanıcı Tanımlı
  4. Seç Yeni -> Veri Toplayıcı Seti
    PerfMon'da yeni bir Veri Toplayıcı Kümesi oluşturun
  5. Açıklayıcı bir ad girin (örneğin, "SQL Server Performans Metrikleri”)
  6. Seç El ile oluştur (Gelişmiş)
    Veri Toplayıcı Kümesi için bir açıklama adı belirleyin
  7. Tıkla Sonraki
  8. Kontrol Veri günlükleri oluştur -> Performans Sayacı
    Yeni Veri Toplayıcı Seti Oluştur sihirbazında Veri günlükleri oluştur -> Performans Sayacı'nı seçin.
  9. Tıkla Sonraki
  10. Tıkla Ekle sayaçları seçmek için
  11. Ekle İstediğiniz SQL Server ve sistem sayaçları.
    Yeni Veri Toplayıcı Setine performans sayaçları ekleyin.
  12. set Örnek aralığı
    • Rutin izleme için 1 dakikayı (60 saniye) kullanın
    • Etkin sorun giderme için 15-30 saniye kullanın
    • Performansı etkileyebileceği ve aşırı veri üretebileceği için yüksek frekanslı yakalamaları uzun vadede çalıştırmaktan kaçının.

    Yeni Veri Toplayıcı Seti sihirbazında örnek aralığını ayarlayın.

  13. Tıkla Sonraki
  14. Günlüklerin kaydedileceği konumu seçin
    Yeni Veri Toplayıcı Seti sihirbazında performans verilerinin kaydedileceği konumu ayarlayın.
  15. Tıkla Bitiş, yeni bir Veri Toplayıcı Seti oluşturulacak.
  16. Varsayılan olarak, yeni Veri Toplayıcı Seti DEĞİL Otomatik olarak başlatılacaktır. Bunu sol panelde, aşağıdaki bölümde bulmanız gerekiyor. Performans -> Veri Toplayıcı Setleri -> Kullanıcı Tanımlı -> Veri Toplayıcınıza sağ tıklayın ve seçin Ana Sayfa
    PerfMon'da yeni bir Veri Toplayıcı Seti başlatın.

4.3 Eklenecek Anahtar Sayaçları

  • Bellek -> Kullanılabilir MByte
  • Fiziksel Disk -> Ort. Disk sn/Okuma (_Toplam hariç tüm örnekler)
  • Fiziksel Disk -> Ort. Disk sn/Yazma (_Toplam hariç tüm örnekler)
  • Fiziksel Disk -> Disk Okumaları/sn (_Total hariç tüm örnekler)
  • Fiziksel Disk -> Disk Yazmaları/sn (_Toplam hariç tüm örnekler)
  • İşlemci -> % İşlemci Süresi (_Total hariç tüm örnekler)
  • SQLServer: Genel İstatistikler -> Kullanıcı Bağlantıları
  • SQLServer: Bellek Yöneticisi -> Bellek İzinleri Bekliyor
  • SQLServer: SQL İstatistikleri -> Toplu İstekler/sn
  • SQLServer: SQL İstatistikleri -> SQL Derlemeleri/sn
  • SQLServer: SQL İstatistikleri -> SQL Yeniden Derlemeleri/sn
  • Sistem -> İşlemci Kuyruk Uzunluğu

4.4 Durdurma Koşullarını Ayarlama

Sınırsız veri büyümesini önlemek için durdurma koşullarını yapılandırın:

  1. Veri Toplayıcı Setini oluşturduktan sonra, sağ tıklayın ve seçin Emlaklar
  2. Tıkla Durma Durumu çıkıntı
  3. etkinleştirme Genel süre
  4. Süreyi 1 güne (24 saat) ayarlayın
  5. Tıkla OK kaydetmek için

Veri Toplayıcı Kümesi için durdurma koşulunu ayarlayın

Bu, günlük dosyasının çok büyük boyutlara ulaşmasını önler ve planlandığı takdirde otomatik olarak yeniden başlatılmasını sağlar.

4.5 Veri Toplamanın Planlanması

Tutarlı izlemeyi sağlamak için veri toplamayı otomatikleştirin:

  1. Veri Toplayıcı Setinize sağ tıklayın ve seçin Emlaklar
  2. Tıkla Çizelge çıkıntı
  3. Tıkla Ekle yeni bir program oluşturmak için
  4. Başlangıç ​​tarihini ve saatini yapılandırın.
  5. Tekrarlama düzenini ayarlayın (örneğin, günlük)
  6. Tıkla OK programı kaydetmek için

Veri Toplayıcı Seti için zamanlamayı ayarlayın

Otomatik başlatma için, Windows Görev Zamanlayıcısı'nda bir başlatma tetikleyicisi oluşturarak Veri Toplayıcı Setinin sunucu başlatıldığında otomatik olarak başlamasını yapılandırın.

5. Performans İzleyicisini Ayarlama SQL Server(Windows XP / Server 2003 ve öncesi)

Windows XP / Server 2003 ve önceki sürümler için, bir dizi performans sayacını seçmenize ve bunları düzenli olarak bir dosyaya kaydetmenize olanak tanıyan Sayaç Günlükleri oluşturabilirsiniz.

5.1 Sayaç Günlükleri Oluşturma

Yeni bir sayaç kaydı oluşturmak için şu adımları izleyin:

  1. Açık Performans İzleyicisi
  2. Genişletmek Performans Günlükleri ve Uyarıları sol bölmede
  3. Sağ tıklatın Sayaç Günlükleri
  4. Seç Yeni Günlük Ayarları
  5. Günlüğe veritabanı sunucunuzun adını verin (örneğin, "ProductionSQL01")
  6. Tıkla OK yapılandırmaya başlamak için

Her sunucu için ayrı sayaç kayıtları oluşturmak, tüm sunucular için aynı anda veri toplamanıza gerek kalmadan, tek tek sunuculardaki performansı test etmenizi sağlar.

5.2 Performans Sayaçlarının Eklenmesi

Bir sayaç günlüğü oluşturduktan sonra, izlemek istediğiniz belirli performans sayaçlarını ekleyin:

  1. Tıkla Sayaç Ekle düğmesine tıklayın
  2. Bilgisayar adını, size işaret edecek şekilde değiştirin SQL Server örnek
  3. Basın çıkıntı mevcut performans nesnelerini yüklemek için
  4. Açılır menüden bir performans nesnesi seçin (örneğin, Bellek)
  5. Belirli sayaçları seçin liste
  6. Uygunsa örnekleri seçin (örneğin, tek tek işlemciler veya diskler).
  7. Tıkla Ekle sayacı dahil etmek için
  8. İstenilen tüm sayaçlar için tekrarlayın
  9. Tıkla Kapat Bittiğinde

5.3 Örnek Aralıklarını Yapılandırma

Örnekleme aralığı, Performans İzleyicisi'nin verileri ne sıklıkla toplayacağını belirler. İzleme ihtiyaçlarınıza göre uygun aralıkları yapılandırın:

  1. Sayaç günlüğü özelliklerinde, şunu bulun: Her örnek veri
  2. Aralığı ayarlayın (varsayılan 15 saniyedir)
  3. Temel izleme için günlük toplamada 1 dakikalık aralıklar kullanın
  4. Sorun giderme için kısa süreli 15-30 saniyelik aralıklar kullanın
  5. Tıkla OK uygulamak

Daha küçük aralıkların daha fazla veri ürettiğini ve bu verilerin işlenmesinin ve analiz edilmesinin daha zor olabileceğini unutmayın. Daha büyük aralıklar önemli artışları kaçırabilir. Veri ayrıntılarını depolama ve analiz gereksinimleriyle dengeleyin.

5.4 Günlük Dosyalarını Yapılandırma

Uygun günlük dosyası yapılandırması, verilerin verimli ve erişilebilir bir şekilde depolanmasını sağlar:

  1. Tıkla Dosyalar oturum sayaç günlüğü özelliklerinde sekme
  2. Günlük dosyası türünü şu şekilde değiştirin: Metin Dosyası (Virgülle ayrılmış) kolay Excel aktarımı için
  3. Tıkla yapılandırma
  4. Dosya yolunu özel bir konuma (örneğin, paylaşılan bir PerformanceLogs klasörü) ayarlayın
  5. Tıkla OK onaylamak

Günlük depolaması için ağa erişilebilen bir paylaşım kullanın; böylece dosyalara uzaktan erişebilir ve bunları diğer kullanıcılarla paylaşabilirsiniz.

5.5 Kimlik Bilgilerinin Ayarlanması

Performans İzleyicisinin uzaktan erişim sağlayabilmesi için uygun kimlik bilgilerini yapılandırın SQL Server örnekler:

  1. Sayaç günlüğü özelliklerinde, şunu bulun: Olarak çalıştırmak
  2. Alan adı kullanıcı adınızı şu formatta girin: DOMAIN\kullanıcı adı
  3. Tıkla Şifre ayarlama
  4. Şifrenizi girin ve onaylayın
  5. Tıkla OK kaydetmek için

Bu, PerfMon hizmetinin kendi kimlik bilgileri yerine etki alanı izinlerinizi kullanarak istatistik toplamasına olanak tanır.

6. Performans İzleme Verilerinin Analizi

6.1 Performans İzleyicisinde Günlük Dosyalarını Görüntüleme

Performans İzleyicisi, kaydedilen günlük dosyalarından geçmiş verileri görüntüleyebilir:

  1. Açık Performans İzleyicisi
  2. Sol bölmede, tıklayın İzleme Araçları -> performans izleyicisi.
  3. Grafik alanında herhangi bir yere sağ tıklayın
  4. Seç Emlaklar
    PerfMon'da grafik alanının herhangi bir yerine sağ tıklayarak özellikleri açın.
  5. Tıkla Kaynak çıkıntı
  6. Seç Günlük dosyaları Radyo düğmesi
  7. Tıkla Ekle
  8. Günlük dosyanıza gidin (.blg veya .csv)
  9. Dosyayı seçin ve tıklayın Açılış
    PerfMon'da grafik kaynağı olarak günlük dosyasını ayarlayın.
  10. Kullan Zaman aralığı analiz etmek istediğiniz dönemi seçmek için kaydırıcı
  11. Tıkla OK Özellikler iletişim kutusunu kapatmak için
  12. Günlük dosyasından sayaç eklemek için yeşil artı simgesine tıklayın
    PerfMon'daki günlük dosyasından sayaç eklemek için yeşil artı simgesine tıklayın.
  13. Görüntülenecek istenen sayaçları seçin
    PerfMon'daki grafiğe istediğiniz sayaçları ekleyin.
  14. Tıkla OK

Grafik artık günlük dosyasındaki geçmiş verileri görüntüleyecektir. Ayrıntılı analiz için belirli zaman dilimlerini daraltmak üzere Özellikler'deki Zaman Aralığı kaydırıcısını kullanın.

6.2 Verileri Excel'e Aktarma

Excel, performans sayacı verileri için güçlü analiz yetenekleri sağlar:

  1. Günlük dosyanız yüklenmiş halde Performans İzleyicisini açın
  2. Grafik alanında herhangi bir yere sağ tıklayın
  3. Seç Verileri Farklı Kaydet
  4. Dosya için bir konum seçin
  5. Seç Metin Dosyası (Virgülle ayrılmış) (.csv) açılır menüden
  6. Tıkla İndirim
  7. CSV dosyasını Excel'de açın

Verileri PerfMon'daki dosyaya aktarın.

Daha iyi analiz için dışa aktarılan verileri biçimlendirin:

  1. Yarı boş satır 2'yi silin ve A1 hücresini temizleyin
  2. A sütununu Tarih/Saat olarak biçimlendir
  3. Sayısal sütunları sıfır ondalık ve binlik ayırıcıyla biçimlendirin
  4. Başlıklardaki sunucu adlarını bulun ve değiştirin (örneğin, “\\SERVERNAME” ifadesini boş bırakın)
  5. Başlıklardaki nesne adlarını temizleyin (örneğin, “Bellek”, “Fiziksel Disk”, “İşlemci”)
  6. Daha iyi görünürlük için başlık yazı tipi boyutunu 8 puana düşürün

6.3 Karşı Değerlerin Yorumlanması

6.3.1 Bellek Sayacı Analizi

Bellek sayaçlarını analiz ederken şu göstergeleri arayın:

  • Mevcut MByte: Sürekli olarak 4096 MB'ın üzerinde kalmalıdır
  • Sayfa Ömrü: 300 saniyenin üzerindeki değerler sağlıklı hafızayı gösterir. Daha düşük değerler hafıza baskısına işaret eder.
  • Arabellek Önbelleği İsabet Oranı: %99'u karşılamalı veya aşmalıdır. Daha düşük değerler aşırı disk okumalarını gösterir.
  • Bekleyen Hafıza Hibeleri: Değer her zaman 0 olmalıdır. Herhangi bir pozitif değer, bellek yetersizliğini gösterir.

6.3.2 CPU Sayaç Analizi

CPU performans göstergeleri şunları içerir:

  • % İşlemci Süresi: %75'in üzerinde sürekli kullanım performans sorunlarına işaret eder. %100'e kadar artışlar normaldir ancak kalıcı olmamalıdır
  • İşlemci Kuyruk Uzunluğu: 1'in üzerindeki değerler CPU yükünü gösterir. Hangi işlemlerin CPU'yu tükettiğini belirlemek için Görev Yöneticisi'ni kontrol edin.
  • % Ayrıcalıklı Zaman: %5-10 arasında kalmalıdır. %25'in üzerindeki değerler aşırı G/Ç işlemlerine işaret eder.

6.3.3 Disk Sayacı Analizi

Disk performans eşikleri:

  • Ort. Disk sn/Okuma ve Yazma: 10-20 ms'nin altında kalmalıdır. Daha yüksek değerler yavaş disk alt sistemlerini gösterir.
  • Disk Kuyruğu Uzunluğu: Sürekli olarak 2'nin (veya RAID'de disk başına 2'nin) üzerindeki değerler G/Ç darboğazlarını gösterir
  • % Disk Süresi: %85'in üzerindeki sürekli değerler disk doygunluğunu gösterir

6.4 Formül ve İstatistik Kullanımı

Hızlı analiz için Excel'e istatistiksel formüller ekleyin:

  1. E-tablonuzun en üstüne 7 boş satır ekleyin
  2. A sütununa etiketler ekleyin: Ortalama, Medyan, Min, Maks, Standart Sapma
  3. B2 hücresine şunu girin: =ORTALAMA(B9:B100) (B100'ü son veri satırınıza göre ayarlayın)
  4. B3 hücresine şunu girin: =MEDIAN(B9:B100)
  5. B4 hücresine şunu girin: =MIN(B9:B100)
  6. B5 hücresine şunu girin: =MAX(B9:B100)
  7. B6 hücresine şunu girin: =STDEV(B9:B100)
  8. Formülleri tüm sayaç sütunlarına kopyala
  9. B9 hücresini seçin ve bölmeleri dondurmak için Alt+W+F+Enter tuşlarına basın

Bu istatistikler her sayaç için eğilimleri, aykırı değerleri ve normal çalışma aralıklarını belirlemeye yardımcı olur.

7. Günlükler için Performans Analizi (PAL) Aracı

7.1 PAL'a Giriş

Günlükler için Performans Analizi (PAL), Clint Huffman tarafından geliştirilen ve Performans İzleyicisi günlüklerini analiz eden ve eşik analizi içeren HTML raporları üreten ücretsiz bir araçtır. PAL, performans verilerinizi bilinen eşiklerle karşılaştırır ve ayrıntılı öneriler sunar. SQL Server performans optimizasyonu.

PAL'ı GitHub deposundan indirin: https://github.com/clinthuffman/PAL Dış Bağlantı

7.2 PAL Kurulumu

Aşağıdaki adımları izleyerek PAL'ı yükleyin:

  1. PAL kurulum dosyasını GitHub'dan indirin
  2. Yükleyiciyi çalıştırın
  3. Tıkla Sonraki karşılama ekranında
  4. Kurulum dizinini inceleyin ve kabul edin
  5. Tıkla Sonraki devam etmek
  6. Tıkla kurmak kuruluma başlamak için
  7. Yükleme işleminin tamamlanmasını bekle
  8. Tıkla Bitiş

7.3 PAL ile Günlük Dosyalarının İşlenmesi

Performans İzleyicisi günlüklerinizi PAL kullanarak analiz edin:

  1. PAL uygulamasını Başlat menüsünden veya kurulum dizininden başlatın.
  2. Tıkla Sayaç Günlüğü çıkıntı
  3. Tıkla Araştır .blg dosyanızı seçmek için
  4. Performans İzleyicisi günlük dosyanıza gidin
  5. Tıkla Açılış
  6. Tıkla Eşik Dosyası çıkıntı
  7. Açılır menüden bir eşik dosyası seçin (örneğin, "SQL Server 2016” )
  8. Tıkla Sorular çıkıntı
  9. Sistem yapılandırmanızla ilgili soruları yanıtlayın
  10. Belirtin mi? SQL Server OLTP mi yoksa Veri Ambarı mı?
  11. Toplam kullanılabilir RAM'i girin
  12. Tıkla Çıktı Seçenekleri çıkıntı
  13. HTML raporu için bir çıktı dizini seçin
  14. Kontrol HTML çıkış biçimi
  15. Tıkla Gerçekleştirmek çıkıntı
  16. Seçimlerinizi gözden geçirin
  17. Kontrol Şimdi yürütmeye başla
  18. Tıkla Bitiş

7.4 PAL Raporlarının Analizi

PAL analizini tamamladıktan sonra aşağıdakileri içeren bir HTML raporu oluşturur:

  • Performans sorunlarının yönetici özeti
  • Grafiklerle detaylı sayaç analizi
  • Eşik ihlalleri renkle vurgulanmıştır
  • Her sorun için özel öneriler
  • Tarihsel eğilimler ve modeller

Rapor, ciddiyet düzeyini belirtmek için renk kodlaması kullanır: kritik sorunlar için kırmızı, uyarılar için sarı ve sağlıklı metrikler için yeşil. Performans darboğazlarını anlamak ve PAL'ın optimizasyon önerilerini izlemek için her bölümü inceleyin.

8. Alternatif SQL Server İzleme Araçları

8.1 Dahili SQL Server Montaj Ekipmanı

8.1.1 SQL Server Activity Monitor

SQL Server Activity Monitor hakkında gerçek zamanlı bilgi görüntüler SQL Server süreçler ve performans:

  1. Açılış SQL Server Management Studio'yu (SSMS) kullanın ve sunucu örneğinize bağlanın
  2. Nesne Gezgini'nde sunucu adına sağ tıklayın
  3. Seç Activity Monitor
    Etkinlik İzleyicisini Başlat SQL Server Yönetim Stüdyosu.

Etkinlik İzleyicisi, süreçleri, kaynak beklemelerini, veri dosyası G/Ç'lerini ve son zamanlardaki maliyetli sorguları gösterir. Güncel veritabanı etkinliği hakkında hızlı bilgiler sağlar, ancak geçmiş verileri saklamaz.

Etkinlik İzleyicisi SQL Server

8.1.2 SQL Server Performans Gösterge Tablosu

SQL Server Management Studio yerleşik performans raporlarını içerir:

  1. In SQL Server Yönetim Stüdyosu'na (SSMS) sağ tıklayın SQL Server Nesne Gezgini'ndeki örnek
  2. Seç Raporlar -> Standart Raporlar
  3. Mevcut raporlardan birini seçin: Performans Gösterge Tablosu
    Performans Panosunu açın SQL Server Yönetim Stüdyosu.

Performans Panosu, görsel içgörüler sağlar SQL Server Sistem CPU kullanımı, mevcut bekleyen istekler ve performans ölçümleri dahil olmak üzere örnek performansına Standart Raporlar menüsünden erişebilirsiniz.

Performans Panosu SQL Server Yönetim Stüdyosu

8.1.3 SQL Server Profiler

SQL Server Profiler yakalar ve analiz eder SQL Server sorgu yürütme, işlem operasyonları ve oturum açma etkinlikleri gibi olaylar.

Başlatmak için SQL Server Profil oluşturucu:

  1. In SQL Server Yönetim Stüdyosu, tıklayın Montaj Ekipmanı -> SQL Server Profiler
    Ana Sayfa SQL Server Profilci SQL Server Yönetim Stüdyosu.

Profilleyici önemli performans yükü oluşturur, bu nedenle dikkatli ve tercihen yoğun olmayan saatlerde kullanın. Çoğu senaryoda, Genişletilmiş Olaylar daha az etkiyle daha iyi performans sağlar.

SQL Server Profiler

8.1.4 Genişletilmiş Etkinlikler

Genişletilmiş Etkinlikler hafif bir performans izleme sistemidir SQL Server. Yerini alır SQL Server Daha iyi performans ve daha düşük genel giderlere sahip profilleyici.

Temel özellikleri şunlardır:

  • Belirli olayların ayrıntılı izlenmesi
  • Minimum performans etkisi
  • Özelleştirilebilir etkinlik oturumları
  • SSMS ve diğer araçlarla entegrasyon
  • Karmaşık filtreleme ve toplama desteği

SSMS aracılığıyla Genişletilmiş Etkinlik oturumları oluşturun:

  1. In Nesne Gezgini, sunucunuzu genişletin ve şuraya gidin: Yönetim -> Genişletilmiş Etkinlikler -> Oturumlar
  2. Üzerinde sağ tıklayın Oturumlar Ve seç Yeni Oturum Sihirbazı
    Genişletilmiş Etkinlikler'de yeni bir oturum başlatın. SQL Server Yönetim Stüdyosu.
  3. Yeni bir oturum başlatmak için talimatları izleyin.

8.1.5 Dinamik Yönetim Görünümleri (DMV'ler)

DMV'ler, sunucu durumunu izlemek, sorunları teşhis etmek ve performansı ayarlamak için ayrıntılı sunucu durumu bilgilerini sunar. Başlıca DMV'ler şunlardır:

  • sys.dm_exec_query_stats: Sorgu performans istatistikleri
  • sys.dm_os_wait_stats: Sunucu performansını etkileyen bekleme türleri
  • sys.dm_os_performance_counters: SQL Server performans sayacı verileri
  • sys.dm_exec_istekleri: Şu anda istekler yürütülüyor
  • sys.dm_exec_oturumları: Etkin kullanıcı oturumları

Gerçek zamanlı performans verilerine ve geçmiş ölçümlere erişmek için bu görünümleri T-SQL kullanarak sorgulayın.

Temel kullanım

-- See all active connections
SELECT * FROM sys.dm_exec_connections;

-- View current sessions
SELECT * FROM sys.dm_exec_sessions;

-- Check database file stats
SELECT * FROM sys.dm_io_virtual_file_stats(NULL, NULL);

8.2 Üçüncü Taraf İzleme Çözümleri

Redgate SQL Monitörü

Redgate SQL Monitor, izleme konusunda uzmanlaşmıştır SQL Server ve Azure SQL Veritabanı ortamları. Tesis genelinde izleme, özelleştirilebilir uyarılar ve panolar, ayrıntılı raporlama özellikleri ve diğer Redgate araçlarıyla entegrasyon sağlar.

kırmızı kapı SQL Server İzliyoruz

SolarWinds SQL Server İzleme Aracı

SolarRüzgarlar SQL Server SQL Sentry olarak da bilinen İzleme Aracı, ciddi performans sorunlarını teşhis etmek, çözmek ve önlemek için tasarlanmıştır. SQL Server.

SolarWinds SQL Server İzleme Aracı

IDERA'lar SQL Server Performans İzleme Aracı

IDERA SQL Diagnostic Manager güçlü bir araçtır. SQL Server Proaktif performans izleme, teşhis ve optimizasyonuna yardımcı olmak üzere tasarlanmış performans izleme aracı.

IDERA'lar SQL Server Performans İzleme Aracı

Uygulama Yöneticisinin SQL İzlemesi

Uygulama Yöneticisi bir Microsoft sunar SQL Server Yararlı BT çözümleri sağlayan izleme aracı. SQL veritabanlarının performansını denetlemek, aynı zamanda hataları tespit etmek ve bir kuruluşun operasyonlarında aksamalara yol açabilecek sorunları çözmek için tasarlanmıştır.

Uygulama Yöneticisinin SQL İzlemesi

8.3 Açık Kaynak İzleme Araçları

DBA Dash

DBA Dash, aşağıdakilere ilişkin içgörüler sağlayan ücretsiz ve açık kaynaklı bir izleme aracıdır: SQL Server Sağlık, performans ve aktivite. Özellikle küçük ve orta ölçekli ortamlar için kullanışlıdır ve günlük DBA kontrolleri, performans izleme ve yapılandırma takibi içerir.

SQLWATCH

SQLWATCH, merkezi olmayan, neredeyse gerçek zamanlı SQL Server İş yükü artışlarını yakalamak için 5 saniyelik ayrıntılı izleme. Gerçek zamanlı gösterge panelleri için Grafana'yı ve derinlemesine analiz için Power BI'ı destekler. Araç, kapsamlı yapılandırma seçenekleri, sıfır bakım gereksinimi ve sınırsız ölçeklenebilirlik sunar.

Opserver

Stack Exchange tarafından geliştirilen Opserver, aşağıdakiler de dahil olmak üzere birden fazla sistemi izler: SQL Server, Redis ve Elasticsearch. Altyapınızdaki CPU, bellek, ağ ve donanım istatistikleri için "tüm sunucular" görünümü sağlar.

sp_KimAktiftir

sp_WhoIsActive, Adam Machanic tarafından oluşturulan kapsamlı bir etkinlik izleme saklı prosedürüdür. Tüm SQL Server 2005'ten günümüze kadar olan sürümler ve yaygın olarak kullanılmaktadır SQL Server Gerçek zamanlı aktivite izleme için DBA'lar.

sp_WhoIsActive'i kullanmak için http://whoisactive.com/ adresinden indirin, veritabanınıza kurun ve şunu çalıştırın:

EXEC sp_WhoIsActive

Prosedür şu anda yürütülen sorguları, bekleme bilgilerini, engelleme ayrıntılarını ve kaynak tüketimini gösterir.

9. En İyi Uygulamalar SQL Server performans izleyicisi

9.1 Performans Temel Değerlerinin Belirlenmesi

Performans temel çizgileri, aracınız için normal çalışma parametrelerini belirler. SQL Server Çevre. Temel değerler olmadan, mevcut ölçümlerin sorunlara işaret edip etmediğini veya tipik davranışı temsil edip etmediğini belirleyemezsiniz.

Temel çizgileri şu şekilde oluşturun:

  1. En az bir hafta boyunca normal operasyonlar sırasında performans verilerinin toplanması
  2. Hem yoğun hem de yoğun olmayan saatlerde metrikleri yakalama
  3. Anahtar sayaçları için tipik değerlerin belgelenmesi
  4. Mevsimsel değişimleri (varsa) kaydetmek.
  5. Gelecekteki metriklerle karşılaştırma için temel verilerin depolanması

Temel verileri üç ayda bir veya önemli altyapı değişiklikleri, uygulama güncellemeleri veya veritabanı değişiklikleri sonrasında güncelleyin.

9.2 Uygun Uyarı Eşiklerini Ayarlama

Bildirimlerle kendinizi bunaltmadan anlamlı uyarılar almak için akıllı eşikleri yapılandırın:

  • Bekleyen Bellek İzinleri > 0 bellek baskısını gösterir
  • İşlemci Sıra Uzunluğu çekirdek başına 2'den fazla ise CPU darboğazı vardır
  • Disk sn/Okuma veya Yazma > 20 ms yavaş G/Ç'yi gösterir
  • Engellenen İşlemler > 5 sinyal çekişme sorunları
  • Sayfa Ömrü Beklentisi < 300 saniye bellek baskısına işaret eder

Eşik değerlerini, temel verilerinize ve belirli iş yükü özelliklerine göre ayarlayın. Ortamınızdaki normal değişiklikleri hesaba katan uyarlanabilir eşik değerleri kullanın.

9.3 Düzenli Veri İncelemesi ve Analizi

Trendleri ve ortaya çıkan sorunları belirlemek için düzenli performans değerlendirmeleri planlayın:

  • Günlük: Üst düzey ölçümleri ve son uyarıları inceleyin
  • Haftalık: Performans eğilimlerinin derinlemesine analizini yapın
  • Aylık: Kapsamlı raporlar oluşturun ve temel değerlerle karşılaştırın
  • Üç Aylık: Kapasite planlamasını ve uzun vadeli eğilimleri inceleyin

Bulguları belgelendirin ve zaman içinde performans iyileştirmelerini izleyin.

9.4 İzleme Genel Giderlerinin Dengelenmesi

İzleme işlemi kendi başına kaynak tüketir, bu nedenle veri toplamayı performans etkisiyle dengeleyin:

  • Sürekli izleme için 30-60 saniyelik aralıkları kullanın
  • 15 saniyelik aralıkları yalnızca etkin sorun giderme için kullanın
  • Veri Toplayıcısını Sınırla Aşırı veriyi önlemek için süreyi ayarlayın
  • Günlükleri veritabanı dosyalarından ayrı sürücülerde saklayın
  • Yönetilebilir dosya boyutlarını korumak için eski performans verilerini arşivleyin

Performans İzleyicisi düzgün yapılandırıldığında, genellikle sistem kaynaklarının %2'sinin altında, minimum ek yük ekler.

9.5 Uzun Vadeli Veri Saklama

Anlamlı trend analizi ve kapasite planlaması için performans verilerini saklayın:

  • En az 1-2 yıllık performans verilerini saklayın
  • Verileri 3-6 ay sonra ayrı bir depolama alanına arşivleyin
  • Yer kazanmak için eski günlük dosyalarını sıkıştırın
  • Performansı etkileyen önemli olayları veya değişiklikleri belgelendirin

Performans sayacı verilerinin nispeten küçük boyutu göz önüne alındığında, bunları süresiz olarak saklamak genellikle uygulanabilir ve uzun vadeli analiz için değerlidir.

9.6 DevOps Uygulamalarıyla Entegrasyon

Veritabanı performans izlemeyi CI/CD hatlarına dahil edin:

  • Dağıtım doğrulamasına veritabanı performans ölçümlerini dahil edin
  • Yeni sürümler için performans testini otomatikleştirin
  • Kod değişikliklerinin performansı olumsuz etkilemediğini doğrulayın
  • Her sürüm için performans kıyaslamaları oluşturun
  • İzleme uyarılarını olay yönetim sistemleriyle entegre edin

10. Yaygın Performans Sorunlarını Giderme

10.1 CPU Darboğazlarını Belirleme

CPU darboğazları, yavaş sorgu yanıt süreleri ve yüksek işlemci kullanımı olarak kendini gösterir. CPU sorunlarını teşhis etmek için şu adımları izleyin:

  1. İşlemci Sıra Uzunluğu sayacını kontrol edin. Çekirdek başına 2'nin üzerindeki değerler CPU yükünü gösterir.
  2. % İşlemci Süresini İnceleyin. %75'in üzerindeki sürekli değerler CPU darboğazını göstermektedir.
  3. Uzak masaüstüne SQL Server
  4. Görev Yöneticisi'ni açın (Ctrl+Shift+Esc)
  5. Tıkla süreçler çıkıntı
  6. Kontrol Tüm kullanıcıların süreçlerini göster
  7. Tıkla işlemci CPU kullanımına göre sıralamak için sütun başlığı
  8. Hangi işlemlerin CPU kaynaklarını tükettiğini belirleyin

Eğer değilseSQL Server Uygulamalar önemli miktarda CPU tüketiyorsa, bunları veritabanı sunucusundan kaldırın. sqlservr.exe yüksek CPU kullanıyorsa, şu yöntemleri kullanarak inceleyin:

  • SQL Derlemeleri/sn ve SQL Yeniden Derlemeleri/sn değerlerini kontrol edin. Toplu İstek/sn'nin %10'unun üzerindeki değerler aşırı derleme olduğunu gösterir.
  • CPU yoğunluklu sorguları belirlemek için sys.dm_exec_query_stats sorgusunu kullanın
  • Eksik dizinler veya verimsiz işlemler için yürütme planlarını inceleyin
  • Tablo taramalarını azaltmak için dizin eklemeyi düşünün

10.2 Bellek Sorunlarının Tanılanması

Bellek sorunları önemli ölçüde etkiler SQL Server Performans. Bellek sorunlarını şu göstergeleri kullanarak teşhis edin:

Kullanılabilir Bellek Düşüşleri

Kullanılabilir MB değeri sürekli olarak 100 MB'ın altına düşerse, işletim sistemi bellek yetersizliğiyle karşı karşıya kalır. Windows, bellekten veri çekmeye başlayabilir. SQL Server bellekten diske aktarıma neden olur ve bu da performans düşüşüne yol açar.

Düşük Sayfa Ömrü Beklentisi

Sayfa Ömrü Beklentisi'nin 300 saniyenin altında olması, arabellek önbellek devir hızının yüksek olduğunu gösterir. Bu, yetersiz bellek tahsisi veya sorgulardan kaynaklanan aşırı bellek baskısı anlamına gelir.

Düşük Arabellek Önbelleği İsabet Oranı

Tampon Önbellek İsabet Oranı %99'un altında demektir SQL Server Verileri bellekten ziyade sıklıkla diskten okur. Bu, arabellek havuzu çok küçük olduğunda veya SQL Server Yeniden başlatmanın ardından hala ısınma aşamasında.

Bellek Bağışları Beklemede

Bellek Yetkileri Bekliyor için 0'ın üzerindeki herhangi bir değer, sorguların bellek yetkileri beklediğini gösterir. Bu, acil müdahale gerektiren kritik bir bellek yetersizliğini temsil eder.

Bellek sorunlarını çözmek için:

  1. yapılandırma SQL Server İşletim sistemi için yeterli RAM bırakmak üzere maksimum bellek ayarı (sunucu boyutuna bağlı olarak genellikle 4-8 GB)
  2. "Sayfaları Bellekte Kilitle" iznini etkinleştirin SQL Server hizmet hesabı
  3. Bellek baskısı devam ederse sunucuya daha fazla fiziksel RAM ekleyin
  4. Bellek yoğunluklu sorguları belirleyin ve optimize edin

10.3 Disk G/Ç Sorunlarını Çözme

Disk G/Ç, veritabanı sistemlerinde sıklıkla birincil performans darboğazı haline gelir. Disk sorunlarını şu yöntemlerle teşhis edin:

Yüksek Disk Kuyruk Uzunluğu

Disk Sırası Uzunluğunun sürekli olarak 2'nin (veya RAID için disk başına 2'nin) üzerinde olması, disk alt sisteminin G/Ç isteklerini karşılayamadığı anlamına gelir. Bu durum, bekleyen işlemlerin birikmesine neden olur.

Aşırı Disk Gecikmesi

Ort. Disk sn/Okuma ve Ort. Disk sn/Yazma değerlerinin 10-20 ms'nin üzerinde olması yavaş disk tepkisini gösterir. İşlem günlüğü sürücüleri, özellikle hızlı performans gerektirir; yazmalar için ideal olarak 5 ms'nin altında olmalıdır.

Yüksek % Disk Süresi

Sürekli olarak %85'in üzerinde disk kullanım yüzdesi, diskin doygunluğa ulaştığını gösterir. Disk zamanının büyük çoğunluğunu G/Ç isteklerini işlemekle geçirir ve geriye çok az boş kapasite kalır.

Disk sorunlarını ele almadan önce, bunların bellek sorunlarının belirtileri olmadığından emin olun. Yetersiz bellek, SQL Server diskten daha fazla veri okumak, disk ölçümlerini yapay olarak şişirmek.

Orijinal disk G/Ç sorunlarını çözmek için:

  • Daha hızlı disklere yükseltin (HDD'ler yerine SSD'ler)
  • Daha iyi performans için RAID yapılandırmalarını uygulayın
  • Veritabanı dosyalarını, işlem günlüklerini ve tempdb'yi farklı fiziksel sürücülere ayırın
  • Disk okumalarını azaltmak için daha fazla bellek ekleyin
  • Gereksiz G/Ç'yi azaltmak için dizinleri optimize edin
  • Düşük performans gösteren sorguları inceleyin ve optimize edin

10.4 Engelleme ve Kilitlenmelerin Ele Alınması

Engelleme, bir oturumun diğer oturumların devam etmesini engelleyen kilitler tutmasıyla oluşur. Engelleme sorunlarını belirlemek için şu sayaçları izleyin:

  • Engellenen İşlemler: İdeal olarak 0 olmalıdır
  • Kilit Bekleme/sn: Bekleme gerektiren kilit isteklerinin sayısı
  • Ortalama Bekleme Süresi: Kilit beklemelerinin ortalama süresi

Engellemeyi araştırmak için:

  1. SSMS'de Etkinlik İzleyicisini Açın
  2. genişletmek süreçler Bölüm
  3. Sıfır olmayan süreçleri arayın Tarafından engellendi değerlerimiz
  4. Engelleyen oturum kimliğini tanımlayın
  5. Engellemeye neden olan sorguları inceleyin

Daha ayrıntılı engelleme analizi için sp_WhoIsActive kullanın. Aşırı wait_info girdileri genellikle tempdb çakışması veya engelleme sorunlarına işaret eder.

Engellemeyi azaltmak için:

  • İşlem süresini en aza indirin
  • Uygun izolasyon seviyelerini kullanın
  • Kilitleme süresini azaltmak için dizinler ekleyin
  • READ_COMMITTED_SNAPSHOT izolasyonunu göz önünde bulundurun
  • Uzun süre çalışan sorguları inceleyin ve optimize edin

10.5 Sorgu Performans Sorunları

SQL performans izleme için pahalı sorguları belirlemek çok önemlidir. Sorunlu sorguları bulmak için şu yöntemleri kullanın:

Activity Monitor'ü kullanma

  1. SSMS'de sunucu adına sağ tıklayın
  2. Seç Activity Monitor
  3. Genişletmek Son Pahalı Sorgular
  4. Yüksek CPU, süre veya mantıksal okumalara sahip sorguları inceleyin

DMV'leri kullanma

Kaynak yoğun sorguları belirlemek için sys.dm_exec_query_stats sorgusunu yapın:

SELECT TOP 50
    total_worker_time/execution_count AS avg_cpu_time,
    total_logical_reads/execution_count AS avg_logical_reads,
    execution_count,
    SUBSTRING(qt.text, (qs.statement_start_offset/2)+1,
        ((CASE qs.statement_end_offset
            WHEN -1 THEN DATALENGTH(qt.text)
            ELSE qs.statement_end_offset
        END - qs.statement_start_offset)/2) + 1) AS query_text
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt
ORDER BY total_worker_time DESC

Uygulama Planlarının Analizi

  1. SSMS'de yeni bir sorgu penceresi açın
  2. Tıkla Tahmini Yürütme Planını Görüntüle (Ctrl+L) veya Gerçek Uygulama Planını Dahil Et (Ctrl+M)
  3. Sorgunuzu çalıştırın
  4. Pahalı operasyonlar için yürütme planını inceleyin
  5. Tablo taramaları, indeks taramaları veya yüksek maliyetli işlemleri arayın.

Sorguları şu şekilde optimize edin:

  • Uygun dizinlerin eklenmesi
  • Pahalı işlemlerden kaçınmak için sorguları yeniden yazma
  • İstatistikleri güncelleme
  • SELECT * yerine belirli sütun adlarını kullanma
  • Gereksiz DISTINCT veya ORDER BY ifadelerinden kaçınmak

10.6 Bozuk Veritabanını Algılama ve Düzeltme

Veritabanı bozulması, performans düşüşüne, veri kaybına ve sistem arızalarına neden olabilir. Veritabanı sağlığını korumak için bozulmanın hızlı bir şekilde tespit edilip giderilmesi kritik öneme sahiptir.

Veritabanı Bozulması Göstergeleri

Potansiyel yolsuzluğun belirtilerine dikkat edin:

  • Içindeki hata mesajları SQL Server hata günlüğü (hata 823, 824 veya 825)
  • Belirli tablolara erişirken beklenmeyen uygulama hataları
  • Daha önce hızlı olan sorgularda yavaş sorgu performansı
  • SQL Server çökmeler veya beklenmedik yeniden başlatmalar
  • msdb.dbo.suspect_pages tablosunda şüpheli sayfalar görünüyor

Algılama için DBCC CHECKDB Kullanımı

DBCC KONTROL DB'si Veritabanı bozulmalarını tespit etmek için kullanılan birincil araçtır. Sorunları erken yakalamak için düzenli olarak çalıştırın.

Şüpheli Sayfaların İzlenmesi

SQL Server şüpheli sayfaları otomatik olarak msdb veritabanına kaydeder:

SELECT 
    database_id,
    file_id,
    page_id,
    event_type,
    error_count,
    last_update_date
FROM msdb.dbo.suspect_pages
WHERE event_type IN (1,2,3)

Dönen satırlar, acil müdahale gerektiren bozulma sorunlarını gösterir.

Yolsuzluk Önleme Stratejileri

  • CHECKSUM seçeneğiyle sayfa doğrulamasını etkinleştirin
  • Düzenli veritabanı yedeklerini koruyun
  • Hata düzeltme özelliğine sahip güvenilir donanım kullanın
  • Üretici araçlarını kullanarak disk sağlığını izleyin
  • Düzenli DBCC CHECKDB çalışmalarını planlayın
  • tutmak SQL Server en son yamalarla güncellendi

Kurtarma ve Onarım Seçenekleri

Bozulmalar tespit edilirse, yerleşik aracı deneyebilirsiniz DBCC KONTROL DB'si Bunları düzeltmek için. Başarısız olursa, aşağıdaki gibi üçüncü taraf araçları kullanın: DataNumen SQL Recovery Ağır yolsuzluklarla baş edebilecek kapasitede.

11. Gelişmiş İzleme Teknikleri

11.1 Sorgu Deposu İzleme

Sorgu Deposu, tanıtıldı SQL Server 2016, sorgu performans verilerini otomatik olarak yakalar. Sorgu davranışı, yürütme planları ve performans eğilimleri hakkında değerli bilgiler sağlar.

Sorgu Deposunu Etkinleştirme

  1. SSMS Nesne Gezgini'nde bir veritabanına sağ tıklayın
  2. Seç Emlaklar
  3. Tıkla Sorgu Deposu Kanal
  4. In Çalışma Modu (İstenen)seçin Okunur
  5. Gerektiğinde ek ayarları yapılandırın
  6. Tıkla OK

Sorgu Performansını İzleme

Object Explorer aracılığıyla Query Store raporlarına erişim:

  1. Object Explorer'da veritabanını genişletin
  2. Genişletmek Sorgu Deposu
  3. Mevcut raporlardan seçim yapın:
    • Gerileyen Sorgular
    • Genel Kaynak Tüketimi
    • En Çok Kaynak Tüketen Sorgular
    • Zorunlu Planlı Sorgular
    • İzlenen Sorgular

Plan Regresyon Tespiti

Sorgu Deposu, sorgu yürütme planlarının değiştiğini ve performansın düştüğünü otomatik olarak algılar. Plan değişikliklerinden etkilenen sorguları belirlemek için Gerileyen Sorgular raporunu inceleyin.

Zorunlu Plan Yönetimi

Sorgu Deposu daha iyi bir yürütme planı belirlediğinde, zorla SQL Server kullanmak için:

  1. Sorguyu Sorgu Deposunda açın
  2. İstediğiniz plana sağ tıklayın
  3. Seç Kuvvet Planı

Bu, kod değişikliği gerektirmeden performansı anında iyileştirir.

11.2 Endeks Bakım İzleme

Dizin parçalanması, zamanla sorgu performansını düşürür. En iyi performansı sağlamak için dizinleri düzenli olarak izleyin ve bakımını yapın.

Parçalanma Kontrolü

Dizin parçalanmasını kontrol etmek için bu sorguyu kullanın:

SELECT 
    OBJECT_NAME(i.object_id) AS table_name,
    i.name AS index_name,
    ps.avg_fragmentation_in_percent,
    ps.page_count
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'SAMPLED') ps
INNER JOIN sys.indexes i ON ps.object_id = i.object_id 
    AND ps.index_id = i.index_id
WHERE ps.avg_fragmentation_in_percent > 10
    AND ps.page_count > 1000
ORDER BY ps.avg_fragmentation_in_percent DESC

Kaynak yoğun olabileceğinden bu sorguyu yoğun olmayan saatlerde çalıştırın.

Sayfa Yoğunluğu Analizi

Sayfa yoğunluğu, dizin sayfalarının ne kadar dolu olduğunu gösterir. Düşük yoğunluk, alan israfına ve performansın düşmesine neden olur:

SELECT 
    OBJECT_NAME(i.object_id) AS table_name,
    i.name AS index_name,
    ps.avg_page_space_used_in_percent
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'SAMPLED') ps
INNER JOIN sys.indexes i ON ps.object_id = i.object_id 
    AND ps.index_id = i.index_id
WHERE ps.avg_page_space_used_in_percent < 75

Yeniden Düzenleme ve Yeniden İnşa Kararları

Parçalanma düzeylerine göre endeks bakım işlemlerini seçin:

  • Parçalanma %10-30: ALTER INDEX REORGANIZE kullanın
  • Parçalanma > %30: ALTER INDEX REBUILD kullanın
  • Parçalanma < %10: Herhangi bir işlem gerekmez

Yeniden düzenleme operasyonları daha az kaynak gerektirir ve çevrimiçi olarak yürütülebilir. Yeniden yapılandırma operasyonları daha kapsamlıdır ancak önemli miktarda kaynak tüketir.

11.3 Veritabanı İstatistik Güncellemeleri

Veritabanı istatistikleri yardımı SQL Server'nin sorgu iyileştiricisi verimli yürütme planları oluşturur. Güncel olmayan istatistikler zayıf sorgu performansına yol açar.

Otomatik İstatistik Yeniden Oluşturma

Otomatik istatistik güncellemelerini etkinleştirin:

ALTER DATABASE DatabaseName SET AUTO_UPDATE_STATISTICS ON
ALTER DATABASE DatabaseName SET AUTO_CREATE_STATISTICS ON

İstatistiksel Sağlık İzleme

İstatistiklerin en son ne zaman güncellendiğini kontrol edin:

SELECT 
    OBJECT_NAME(s.object_id) AS TableName,
    s.name AS StatisticsName,
    STATS_DATE(s.object_id, s.stats_id) AS LastUpdated,
    sp.rows,
    sp.modification_counter
FROM sys.stats s
CROSS APPLY sys.dm_db_stats_properties(s.object_id, s.stats_id) sp
WHERE STATS_DATE(s.object_id, s.stats_id) < DATEADD(DAY, -7, GETDATE())
ORDER BY LastUpdated

Gerektiğinde istatistikleri manuel olarak güncelleyin:

UPDATE STATISTICS TableName WITH FULLSCAN

11.4 Özel Performans Verilerinin Toplanması

sys.dm_os_performance_counters'ı doğrudan sorgulayarak ve sonuçları tablolarda depolayarak özel performans izleme çözümleri oluşturun.

Özel Koleksiyon Komut Dosyaları Oluşturma

Performans sayacı verilerini toplamak için saklı bir prosedür oluşturun:

CREATE PROCEDURE dbo.CollectPerformanceCounters
AS
BEGIN
    INSERT INTO dbo.PerformanceHistory (
        SampleTime,
        CounterName,
        CounterValue
    )
    SELECT 
        GETDATE(),
        counter_name,
        cntr_value
    FROM sys.dm_os_performance_counters
    WHERE counter_name IN (
        'Page life expectancy',
        'Batch Requests/sec',
        'Buffer cache hit ratio'
    )
END

sys.dm_os_performance_counters kullanımı

Performans sayaçlarını doğrudan sorgulayın:

SELECT 
    object_name,
    counter_name,
    instance_name,
    cntr_value,
    cntr_type
FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Buffer Manager%'
ORDER BY counter_name

Tarihsel Verilerin Depolanması

Zaman içindeki performans ölçümlerini depolamak için bir tablo oluşturun:

CREATE TABLE dbo.PerformanceHistory (
    ID INT IDENTITY PRIMARY KEY,
    SampleTime DATETIME2 NOT NULL,
    PageLifeExpectancy BIGINT,
    BatchRequestsPerSec DECIMAL(18,4),
    BufferCacheHitRatio DECIMAL(5,2)
)

CREATE CLUSTERED COLUMNSTORE INDEX CCI_PerformanceHistory 
ON dbo.PerformanceHistory

Pivotlu Veri Depolama Yöntemleri

Verileri, örnek zaman başına bir satır ve sayaç başına bir sütun olacak şekilde pivot formatında saklayın. Bu, her örnek için sayaç başına bir satır depolamaya kıyasla depolama alanını azaltır ve sorgu performansını artırır.

11.5 Çoklu Sunucu İzleme

Birden fazla ortam için SQL Server durumlarda merkezi izlemeyi uygulayın.

Merkezi İzleme Yaklaşımı

  • Ayrı bir sunucuda özel bir izleme veritabanı oluşturun
  • Tüm sunuculardan gelen verileri merkezi depoya toplayın
  • Kullanım SQL Server Toplama betiklerini çalıştırmak için aracı işleri
  • Ağ üzerinden erişilebilir performans sayacı toplamayı uygulayın

Uzak Sunucu İzleme

Sayaç eklerken sunucu adlarını belirterek Performans İzleyicisi'ni uzak sunuculardan veri toplayacak şekilde yapılandırın. Güvenlik duvarı kurallarının Performans İzleyicisi trafiğine izin verdiğinden emin olun.

Sunucular Arası Raporlama

Birden fazla sunucudaki performansı karşılaştıran raporlar oluşturarak aykırı değerleri ve kapasite dengesizliklerini belirleyin.

12. İzleme SQL Server Bulut Ortamlarında

12.1 Azure SQL Veritabanı İzleme

Azure SQL Veritabanı, şirket içi izlemeden farklı yerleşik izleme yetenekleri sağlar SQL Server.

Azure Monitor Entegrasyonu

Azure Monitor, Azure SQL Veritabanından otomatik olarak aşağıdakiler dahil olmak üzere ölçümleri toplar:

  • DTU veya vCore kullanımı
  • Depolama alanı kullanımı
  • Bağlantı istatistikleri
  • Kilitlenmeler ve zaman aşımları

Bu ölçümlere Azure Portal veya Azure Monitor API aracılığıyla erişin.

Yerleşik İzleme Özellikleri

Azure SQL Veritabanı şunları içerir:

  • Otomatik ayar önerileri
  • Sorgu Performansı İçgörüsü
  • Anormallik tespiti için Akıllı İçgörüler
  • Dahili uyarı ve teşhis sistemi

Sorgu Performansı İçgörüsü

Bu özellik, en çok kaynak tüketen sorguların, sorgu süresi analizinin ve geçmiş performans eğilimlerinin görselleştirilmesini sağlar. SQL Veritabanı kaynağınız altındaki Azure Portal üzerinden erişebilirsiniz.

12.2 Bulut Yerel İzleme Araçları

Bulut platformları, kendi ortamlarına göre optimize edilmiş yerel izleme çözümleri sunar:

  • Azure SQL Veritabanı için Azure Monitor ve Uygulama Öngörüleri
  • RDS için AWS CloudWatch SQL Server
  • Bulut için Google Cloud İzleme SQL Server

Bu araçlar bulut altyapısıyla kusursuz bir şekilde bütünleşir ve tüm bulut kaynaklarında birleşik izleme sağlar.

Hibrit Ortam İzleme

Şirket içi ve bulutu kapsayan hibrit dağıtımlar için Redgate SQL Monitor, SolarWinds DPA gibi her iki ortamı da destekleyen araçları veya merkezi veri toplama kullanan özel çözümleri kullanın.

12.3 Buluttaki Performans Farklılıkları

bulut SQL Server ortamların kendine özgü özellikleri vardır:

Kaynak Tahsis Modelleri

Bulut sağlayıcıları, performans ölçümlerini nasıl yorumlayacağınızı etkileyen farklı kaynak tahsis yöntemleri (DTU'lar, sanal çekirdekler, sunucusuz) kullanır. Hizmet katmanınızın sınırlamalarını ve özelliklerini anlayın.

Ölçeklendirme Hususları

Bulut ortamları dinamik ölçekleme olanakları sunar. Kaynak kullanımını izleyerek ölçeklendirmenin ne zaman artırılıp azaltılacağını belirleyin. Birçok bulut platformu, performans eşiklerine göre otomatik ölçekleme sağlar.

13. Performans İzlemenin Otomatikleştirilmesi

13.1 SQL Server Ajan İşleri

Veri toplamayı otomatikleştirin SQL Server Manuel müdahaleye gerek kalmadan tutarlı izleme için aracı işler.

Planlanmış Veri Toplama

  1. SSMS'de genişletin SQL Server Danışman
  2. Sağ tıklatın İş İlanlar seçin Yeni iş
  3. İşin adını verin (örneğin, "Performans Ölçümlerini Topla")
  4. Tıkla Adımlar ve yeni bir adım ekleyin
  5. Türü şu şekilde ayarlayın: Transact-SQL betiği
  6. Veri toplama betiğinizi girin
  7. Tıkla Tarifeleri ve bir program ekle
  8. Sıklığı yapılandırın (örneğin, her 5 dakikada bir)
  9. Tıkla OK iş yaratmak için

Otomatik Raporlama

Performans raporları üreten ve e-postayla gönderen işler yaratın:

  1. Raporlar üreten bir saklı yordam oluşturun
  2. Raporları e-posta yoluyla göndermek için Veritabanı Postasını kullanın
  3. İşin günlük veya haftalık olarak çalışmasını planlayın

13.2 PowerShell Otomasyonu

PowerShell, güçlü otomasyon yetenekleri sağlar SQL Server performans izleyicisi.

Performans Sayacı Toplama Komut Dosyaları

$counters = @(
    '\Processor(_Total)\% Processor Time',
    '\Memory\Available MBytes',
    '\PhysicalDisk(_Total)\Avg. Disk sec/Read'
)

$data = Get-Counter -Counter $counters -ComputerName 'SQLServer01'
$data.CounterSamples | Export-Csv 'C:\PerfLogs\counters.csv' -Append

WMI Sorguları

Uzak sunuculardan performans verilerini toplamak için WMI'yi kullanın:

$cpu = Get-WmiObject Win32_Processor -ComputerName 'SQLServer01'
$memory = Get-WmiObject Win32_OperatingSystem -ComputerName 'SQLServer01'

Write-Host "CPU Usage: $($cpu.LoadPercentage)%"
Write-Host "Available Memory: $([math]::Round($memory.FreePhysicalMemory/1MB,2)) GB"

Otomatik Uyarı

Metrikleri kontrol eden ve eşikler aşıldığında uyarı gönderen PowerShell betikleri oluşturun:

$cpuThreshold = 80
$cpu = (Get-Counter '\Processor(_Total)\% Processor Time').CounterSamples.CookedValue

if ($cpu -gt $cpuThreshold) {
    Send-MailMessage -To 'dba@company.com' -Subject 'High CPU Alert' `
        -Body "CPU usage is $cpu%" -SmtpServer 'smtp.company.com'
}

13.3 İzleme Panoları Oluşturma

Daha iyi içgörüler için etkileşimli panolarla performans verilerini görselleştirin.

Power BI Entegrasyonu

  1. Power BI'ı performans veri tablolarınıza bağlayın
  2. Temel metrikler için görselleştirmeler oluşturun
  3. Zaman aralığı ve sunucu seçimi için dilimleyiciler ekleyin
  4. Panoları Power BI Hizmetine yayınlayın
  5. Otomatik yenileme zamanlamalarını yapılandırın

Gerçek Zamanlı Pano Oluşturma

DMV'leri ve performans sayaçlarını doğrudan sorgulayan gerçek zamanlı panolar oluşturmak için Grafana gibi araçları veya özel web uygulamalarını kullanın.

Tarihsel Trend Görselleştirmesi

Zaman içindeki eğilimleri gösteren çizgi grafikleri oluşturun:

  • CPU kullanımı
  • Hafıza kullanımı
  • Disk G / Ç
  • Sorgu performansı
  • Bağlantı sayıları

14. Vaka Çalışmaları ve Pratik Örnekler

14.1 Vaka Çalışması: Bellek Baskısının Çözümü

Belirti Tanımlama

bir üretim SQL Server Yoğun saatlerde yavaş sorgu yanıt süreleri yaşandı. Kullanıcılar, uygulama zaman aşımı ve düşük performanstan şikayetçiydi.

Sayaç Analizi

Performans İzleme verileri ortaya çıktı:

  • Sayfa Ömrü Beklentisi 50 saniyeye düştü (normal: >300)
  • Arabellek Önbelleği İsabet Oranı %85'e düştü (normal: >%99)
  • Bekleyen Bellek Hibeleri sıklıkla 5-10 değerlerini gösterdi
  • Fiziksel Disk Okuma/sn önemli ölçüde arttı

Çözünürlük Adımları

  1. Kontrol SQL Server maksimum bellek ayarı – varsayılan olarak ayarlandığı keşfedildi (sınırsız)
  2. Toplam sunucu belleği ile hedef sunucu belleği karşılaştırıldı ve önemli bir fark olduğu görüldü.
  3. İşletim sistemi için 8 GB bırakılacak şekilde yapılandırılmış maksimum sunucu belleği
  4. "Sayfaları Bellekte Kilitle" izni etkinleştirildi SQL Server hizmet hesabı
  5. Sunucuya 32 GB ek RAM eklendi
  6. Bir hafta boyunca izlenen performans – Sayfa Yaşam Beklentisi 500 saniyenin üzerinde sabitlendi

Sonuç: Sorgu yanıt süreleri %60 oranında iyileştirildi, kullanıcı şikayetleri ortadan kalktı ve uygulama performansı normale döndü.

14.2 Vaka Çalışması: CPU Performans Optimizasyonu

Belirti Tanımlama

A SQL Server İş saatleri içerisinde CPU kullanımının sürekli olarak %90'ın üzerinde seyrettiği, bunun da uygulama performansının yavaşlamasına ve kullanıcıların hayal kırıklığına uğramasına neden olduğu görüldü.

Sayaç Analizi

Performans izleme sonuçları:

  • % İşlemci Süresi %92 ortalamasında olup, %100'e kadar sık ​​sık artışlar görüldü
  • İşlemci Sıra Uzunluğu sürekli olarak 4'ün üzerinde (sunucuda 8 çekirdek vardı)
  • SQL Derlemeleri/sn, Toplu İsteklerin/sn'sinin %25'iydi (%10'dan az olmalı)
  • SQL Yeniden Derlemeleri/sn, Toplu İsteklerin/sn'sinin %15'iydi

Çözünürlük Adımları

  1. En çok CPU tüketen sorguları belirlemek için DMV'ler kullanıldı
  2. Tanımlanan sorgular için analiz edilen yürütme planları
  3. Eksik dizinler nedeniyle büyük tablolarda birden fazla tablo taraması keşfedildi
  4. Yürütme planı önerilerine göre uygun endeksler oluşturuldu
  5. Aşırı derlemelere neden olan dinamik SQL belirlendi
  6. Parametreli sorguları kullanmak için değiştirilmiş uygulama kodu
  7. Sorunlu saklı prosedürler için uygulanan plan kılavuzu
  8. Yoğun kullanılan tabloların güncellenmiş istatistikleri

Sonuç: İş saatleri içinde CPU kullanımı ortalama %45'e düştü. Sorgu yürütme süreleri %70 oranında iyileşti. Uygulama yanıt süresi önemli ölçüde iyileşti.

14.3 Vaka Çalışması: Disk G/Ç Darboğaz Çözümü

Belirti Tanımlama

Kullanıcılar, veri yükleme işlemleri ve akşam toplu işlemleri sırasında uygulama yanıtının son derece yavaş olduğunu bildirdi.

Sayaç Analizi

Performans verileri şunları gösterdi:

  • İşlem günlüğü sürücüsünde Ort. Disk sn/Yazma 45 ms'yi aştı
  • Veri dosyası sürücüsünde Disk Sırası Uzunluğu ortalaması 12'dir
  • Toplu işler sırasında % Disk Süresi saatlerce %95'in üzerinde kaldı
  • Sayfa Yazma/sn olağanüstü derecede yüksekti

Çözünürlük Adımları

  1. Doğrulanan bellek ayarları uygundu - bellek sorunu bulunamadı
  2. Disk yapılandırması analiz edildi - aynı mil setindeki tüm dosyalar keşfedildi
  3. Ayrılmış işlem günlükleri özel hızlı SSD sürücülere aktarıldı
  4. tempdb'yi ayrı SSD sürücülerine taşıdım
  5. Birden fazla tempdb veri dosyası uygulandı (çekirdek başına bir tane)
  6. Veri dosyası sürücüleri RAID 10 SSD yapılandırmasına yükseltildi
  7. Daha küçük işlem grupları kullanmak için toplu işler optimize edildi
  8. Toplu işlemler sırasında gereksiz tablo taramalarını azaltmak için dizinler eklendi

Sonuç: Ortalama Disk sn/Yazma 3 ms'ye düştü. Disk Sırası Uzunluğu ortalaması 1'in altına düştü. Toplu iş tamamlanma süresi %75 oranında azaldı.

15. Gelecekteki Trendler SQL Server İzleme

15.1 Yapay Zeka ve Makine Öğrenmesi Entegrasyonu

Yapay zeka ve makine öğrenimi dönüşüyor SQL Server performans izleyicisi.

Akıllı Analytics

Makine öğrenimi modelleri, geçmiş verilere dayanarak gelecekteki kaynak ihtiyaçlarını tahmin eder. Bu sistemler şunları öngörebilir:

  • Depolama kapasitesi ne zaman tükenecek?
  • Yoğun dönemlerde beklenen CPU ve bellek gereksinimleri
  • Kullanıcıları etkilemeden önce sorgu performansındaki düşüş
  • Bakım operasyonları için en uygun zamanlar

Anomali tespiti

Yapay zeka destekli araçlar, performans ölçümlerindeki olağandışı kalıpları otomatik olarak tespit eder. İnsan yöneticilerinin gözden kaçırabileceği anormallikleri belirler ve normal değişiklikler ile gerçek sorunlar arasında ayrım yapar.

Otomatik Düzeltme

Kendi kendini iyileştiren sistemler, aşağıdaki yaygın sorunları tespit ettiklerinde otomatik olarak çözer:

  • Durdurulmuş olan hizmetleri yeniden başlatın.
  • Yoğun yük sırasında kaynakları yeniden tahsis edin
  • Bilinen sorunlar için düzeltmeleri uygulayın
  • Parçalanmış dizinleri otomatik olarak yeniden oluştur

15.2 Bulut Tabanlı İzleme Evrimi

Bulut izleme yeni yeteneklerle gelişmeye devam ediyor.

Birleşik İzleme Platformları

Modern platformlar, aşağıdaki alanlarda tek bir camdan görüş imkanı sağlar:

  • Şirket içi SQL Server durumlarda
  • Bulut tabanlı veritabanları
  • Hibrit ortamlar
  • Uygulama performansı
  • Altyapı ölçümleri

Gözlemlenebilirlik Trendleri

İzlemeden gözlemlenebilirliğe geçiş şunları vurgular:

  • Çıktılardan sistem davranışını anlama
  • Metrikleri, günlükleri ve izleri ilişkilendirme
  • Dağıtılmış sistemlere dair derinlemesine bilgiler
  • Gerçek zamanlı sorun teşhisi

15.3 Kendi Kendini İyileştiren Veritabanı Sistemleri

gelecek SQL Server versiyonları daha otonom yetenekler içerecek.

Otomatik Optimizasyon

Veritabanları sürekli olarak şu şekilde kendilerini optimize edeceklerdir:

  • İş yüküne göre otomatik olarak dizin oluşturma ve bırakma
  • En iyi performans için yapılandırma ayarlarının düzenlenmesi
  • Verimsiz sorguları şeffaf bir şekilde yeniden yazma
  • Kaynak tahsisini dinamik olarak yönetme

Akıllı Ayarlama

Gelişmiş sistemler performans modellerinden öğrenecek ve ayar önerilerini otomatik olarak uygulayacak, böylece manuel DBA müdahalesine olan ihtiyaç azalacaktır.

16. Sonuç ve Önemli Çıkarımlar

16.1 Temel İzleme Uygulamalarının Özeti

Etkili SQL Server Performans izleme, araçları, teknikleri ve en iyi uygulamaları birleştiren kapsamlı bir yaklaşım gerektirir.

Kritik Karşı Saldırılar Özeti

İzleme çabalarınızı şu temel sayaçlara odaklayın:

  • Bellek: Sayfa Ömrü Beklentisi, Arabellek Önbelleği İsabet Oranı, Bekleyen Bellek İzinleri
  • CPU: % İşlemci Süresi, İşlemci Sıra Uzunluğu
  • Disk: Ort. Disk sn/Okuma ve Yazma, Disk Kuyruğu Uzunluğu
  • SQL Server: Toplu İstekler/sn, Derlemeler/sn, Kullanıcı Bağlantıları

En İyi Uygulama Özeti

  • Normal operasyonlar sırasında temel değerleri belirleyin
  • Temel değerlere dayalı akıllı uyarı eşikleri ayarlayın
  • Performans verilerini düzenli olarak inceleyin
  • Veri ayrıntısıyla izleme yükünü dengeleyin
  • Trend analizi için uzun vadeli verileri saklayın
  • Her izleme senaryosu için uygun araçları kullanın

16.2 Sürekli İyileştirme Yaklaşımı

SQL Server Performans izleme tek seferlik bir aktivite değil, sürekli iyileştirme gerektiren devam eden bir süreçtir.

Düzenli İnceleme Döngüleri

  • Günlük: Uyarıları ve mevcut performansı kontrol edin
  • Haftalık: Trendleri gözden geçirin ve ortaya çıkan sorunları belirleyin
  • Aylık: Uzun vadeli kalıpları ve kapasite ihtiyaçlarını analiz edin
  • Üç aylık: Temel değerleri güncelleyin ve izleme etkinliğini gözden geçirin

Araçlar Hakkında Güncel Kalın

İzleme araçlarını ve tekniklerini güncel tutun:

  • Yeni izleme özelliklerini değerlendirin SQL Server güncellemeler
  • Ortaya çıkan üçüncü taraf araçlarını test edin
  • Eğitimlere ve konferanslara katılın
  • Katılmak SQL Server topluluk forumları
  • Bilgiyi ekip üyeleriyle paylaşın

16.3 Sonraki Adım

Uygulamak SQL Server Performans izlemeyi sistematik olarak yapın:

Uygulama Yol Haritası

  1. Hafta 1: Temel sayaçlarla Performans İzleyicisini ayarlayın
  2. Hafta 2: Otomatik toplama için Veri Toplayıcı Kümeleri Oluşturun
  3. Hafta 3: Normal operasyonlar sırasında temel değerleri belirleyin
  4. Hafta 4: Kritik eşikler için uyarıları yapılandırın
  5. Ay 2: Ek izleme araçlarını (DMV'ler, Genişletilmiş Etkinlikler) uygulayın
  6. Ay 3: Özel panolar ve raporlar geliştirin
  7. devam ediyor: Deneyime ve değişen gereksinimlere göre izlemeyi iyileştirin

Ek kaynaklar

Hakkında bilgi edinmeye devam edin SQL Server Microsoft belgeleri, topluluk blogları ve uygulamalı pratikler aracılığıyla performans izlemeyi öğrenin. Ortamınız için en uygun olanı bulmak için farklı araç ve teknikleri deneyin.

17. Sıkça Sorulan Sorular (SSS)

17.1 En önemli olanlar nelerdir? SQL Server izlenecek performans sayaçları?

En kritik SQL Server performans sayaçları şunları içerir:

  • Bellek: Sayfa Ömrü Beklentisi (>300 saniye olmalı) ve Arabellek Önbelleği İsabet Oranı (%99'dan fazla olmalı)
  • CPU: % İşlemci Süresi (sürdürülebilir değerler <%75) ve İşlemci Sıra Uzunluğu (çekirdek başına <2 olmalıdır)
  • Disk: Ort. Disk sn/Okuma ve Yazma (<10-20 ms olmalı) ve Disk Kuyruğu Uzunluğu (disk başına <2 olmalı)
  • SQL Server: Toplu İstekler/sn, SQL Derlemeleri/sn ve Bekleyen Bellek İzinleri (0 olmalıdır)

Bu sayaçlar sistem sağlığı hakkında kapsamlı bilgi sağlar ve darboğazların hızla belirlenmesine yardımcı olur.

17.2 Performans verilerini ne sıklıkla toplamalıyım?

Toplama sıklığı izleme hedeflerinize bağlıdır:

  • Temel izleme: Her 1 dakikada bir (60 saniye)
  • Aktif sorun giderme: Kısa süreler için her 15-30 saniyede bir
  • Uzun vadeli trend: Her 5 dakikada bir

Performansı etkileyebileceği ve aşırı veri üretebileceği için yüksek frekanslı veri toplamayı sürekli olarak çalıştırmaktan kaçının. Rutin izleme için daha uzun aralıklar, yalnızca belirli sorunları araştırırken daha kısa aralıklar kullanın.

17.3 Performans İzleyicisi ile Performans İzleme arasındaki fark nedir? SQL Server Profilci?

Performans İzleyicisi ve SQL Server Profiler'lar farklı amaçlara hizmet eder:

Performans izleyicisi:

  • Monitör sistemi ve SQL Server performans sayaçları
  • Kaynak kullanımını izler (CPU, bellek, disk)
  • Düşük genel gider, sürekli izleme için uygundur
  • Zaman içinde toplu ölçümler sağlar

SQL Server Profil oluşturucu:

  • Bireysel izler SQL Server olaylar ve sorular
  • Ayrıntılı sorgu yürütme bilgilerini yakalar
  • Daha yüksek genel gider, sürekli kullanım için önerilmez
  • Belirli sorgu sorunlarını gidermek için en iyisi
  • Genişletilmiş Etkinlikler lehine kullanımdan kaldırıldı

Genel sistem izleme için Performans İzleyicisi'ni ve ayrıntılı sorgu düzeyinde analiz için Genişletilmiş Olaylar'ı (Profil Oluşturucu'yu değil) kullanın.

17.4 Performans İzleme'nin etkisi SQL Server performans?

Doğru şekilde yapılandırıldığında, Performans İzleyicisi'nin performansı üzerindeki etkisi minimumdur SQL Server Performans, genellikle %2'den az genel gider anlamına gelir. Ancak aşırı izleme sorunlara yol açabilir:

  • Çok fazla sayaç genel giderleri artırır
  • Çok kısa örnek aralıkları (15 saniyenin altında) suş kaynakları
  • Sürekli yüksek frekanslı toplama, büyük günlük dosyaları oluşturur

Etkisini en aza indirmek için:

  • Yalnızca gerekli sayaçları izleyin
  • Uygun örnek aralıklarını kullanın (rutin izleme için 60 saniye)
  • Günlükleri veritabanı dosyalarından ayrı sürücülerde saklayın
  • Kaynak yoğun izlemeyi düşük yoğunluklu saatlerde planlayın

17.5 Performans izleme verilerini ne kadar süreyle saklamalıyım?

Saklama, analiz ihtiyaçlarınıza ve depolama kapasitenize bağlıdır:

  • minimum: Son sorunların giderilmesi için 3 ay
  • Önerilen: Kapasite planlaması ve trend analizi için 1-2 yıl
  • En uygun: Depolama izin verirse süresiz olarak, çünkü tarihsel veriler zamanla daha değerli hale gelir

Performans sayacı verileri iyi sıkıştırılır ve nispeten az yer kaplar. Eski verileri silmek yerine ayrı bir depolama alanına arşivlemeyi düşünün. Birçok kuruluş, yıllar süren geçmiş verilerinin kapasite planlaması ve uzun vadeli eğilimleri belirleme açısından paha biçilmez olduğunu fark eder.

17.6 Anahtar performans sayaçları için iyi eşik değerleri nelerdir?

Uyarı için önerilen eşik değerleri:

  • Bellek İzinleri Bekliyor: > 0 olduğunda uyarı
  • Sayfa Ömrü Beklentisi: < 300 saniye olduğunda uyarı
  • % İşlemci Süresi: 5 dakika boyunca %80'den fazla olduğunda uyarı
  • İşlemci Kuyruk Uzunluğu: Çekirdek başına 2'den fazla olduğunda uyarı
  • Ort. Disk sn/Okuma veya Yazma: > 20 ms olduğunda uyarı
  • Disk Sırası Uzunluğu: Disk başına 2'den fazla olduğunda uyarı
  • Engellenen İşlemler: > 5 olduğunda uyarı

Bu eşikleri, temel verilerinize ve belirli iş yükü özelliklerine göre ayarlayın. Bir ortam için normal olan bir durum, başka bir ortamda sorunlara işaret edebilir.

17.7 Nasıl izlerim? SQL Server uzaktan performans?

Uzaktan izleme SQL Server Bu yöntemleri kullanan örnekler:

  1. Performans izleyicisi: Sayaç eklerken uzak bilgisayar adını belirtin
  2. Güç kalkanı: -ComputerName parametresini Get-Counter ile kullanın
  3. DMV'ler: SSMS aracılığıyla uzak sunuculara bağlanın ve DMV'lere sorgu gönderin
  4. Üçüncü taraf araçlar: Çoğu izleme aracı uzaktan sunucu izlemeyi destekler.

Güvenlik duvarı kurallarının Performans İzleyicisi trafiğine izin verdiğinden ve uzak sunucuda uygun izinlere sahip olduğunuzdan emin olun. Birden fazla sunucu için, özel bir izleme sunucusu ve veritabanıyla merkezi izlemeyi uygulamayı düşünün.

17.8 En iyi ücretsiz araç hangisidir? SQL Server performans izleyicisi mi?

İzleme için çeşitli mükemmel ücretsiz araçlar mevcuttur SQL Server performans:

  • Windows Performans İzleyicisi: Yerleşik, kapsamlı ve güvenilir
  • SSMS Etkinlik İzleyicisi: Ek kurulum gerektirmeyen gerçek zamanlı izleme
  • Genişletilmiş Etkinlikler: Hafif olay izleme yerleşiktir SQL Server
  • sp_KimAktif: Ayrıntılı etkinlik izleme için popüler ücretsiz saklı yordam
  • DBA Dash: Kapsamlı özelliklere sahip açık kaynaklı izleme aracı
  • SQLİZLEME: Gerçek zamanlıya yakın izleme yeteneklerine sahip açık kaynaklı

Çoğu kuruluş için, Performans İzleyici, SSMS araçları ve sp_WhoIsActive ile birlikte ek maliyet gerektirmeden mükemmel izleme yetenekleri sağlar.

17.9 PerfMon verilerini analiz için nasıl dışa aktarabilirim?

Performans İzleme verilerini şu yöntemleri kullanarak dışa aktarın:

CSV'ye aktar:

  1. Günlük dosyanız yüklenmiş halde Performans İzleyicisini açın
  2. Grafiğe sağ tıklayın ve seçin Verileri Farklı Kaydet
  3. Klinik Metin Dosyası (Virgülle ayrılmış) (.csv)
  4. Konumu seçin ve kaydedin
  5. Analiz için Excel'de açın

Relog Komutunu Kullanın:

relog input.blg -f csv -o output.csv

Bu komut satırı yardımcı programı, elektronik tablo uygulamalarında daha kolay analiz edilebilmesi için ikili günlük dosyalarını (.blg) CSV biçimine dönüştürür.

17.10 Dahili seçenekler yerine üçüncü taraf izleme araçlarını ne zaman kullanmalıyım?

Aşağıdaki durumlarda üçüncü taraf araçları düşünün:

  • Çok sayıda kişiyi yönetmek SQL Server örnekler (10+)
  • Birden fazla veri merkezinde merkezi izleme gerektirmesi
  • Tahmini analiz veya anormallik tespiti gibi gelişmiş özelliklere ihtiyaç duymak
  • Olay yönetim sistemleriyle entegre uyarılar isteniyor
  • Uyumluluk raporlaması ve geçmiş analizi gerektirmesi
  • Özel çözümler oluşturmak ve sürdürmek için DBA kaynaklarının eksikliği
  • Heterojen veritabanı ortamlarının izlenmesi (SQL Server(Oracle, MySQL, vb.)

Yerleşik araçlar, daha küçük ortamlar veya özel izleme çözümleri geliştirebilen yetenekli veritabanı yöneticileriniz olduğunda iyi çalışır. Üçüncü taraf araçlar, zamandan tasarruf, gelişmiş özellikler ve profesyonel destek yoluyla değer sağlar.

18. Ek Kaynaklar

18.1 Resmi Belgeler

Microsoft, kapsamlı belgeler sağlar SQL Server performans izleyicisi:

18.2 Önerilen Araçlar ve İndirmeler

için temel araçlar SQL Server performans izleyicisi:

  • PAL Aracı: https://github.com/clinthuffman/PAL
  • sp_KimAktif: http://whoisactive.com/
  • DBA Dash: https://dbadash.com/
  • SQLİZLEME: https://github.com/marcingminski/sqlwatch
  • İlk Müdahale Kiti (Brent Ozar): https://www.brentozar.com/first-aid/
  • SQL Server Yönetim Stüdyosu: https://learn.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms

18.3 Topluluk Kaynakları

den öğren SQL Server topluluk:

  • SQL Server Merkez: https://www.sqlservercentral.com/
  • Brent Ozar Blogu: https://www.brentozar.com/blog/
  • SQL Shack: https://www.sqlshack.com/
  • MSSQLTipuçları: https://www.mssqltips.com/
  • Reddit r/SQLServer: https://www.reddit.com/r/SQLServer/
  • Yığın taşması SQL Server etiket: https://stackoverflow.com/questions/tagged/sql-server

Bu kaynaklar, deneyimli kişilerden eğitimler, sorun giderme tavsiyeleri ve en iyi uygulamaları sağlar. SQL Server Profesyoneller. Topluluk forumlarına katılmak, başkalarının deneyimlerinden ders çıkarmanıza ve kendi bilginizi paylaşmanıza yardımcı olur.


Yazar Hakkında

Yuan Sheng 10 yılı aşkın deneyime sahip kıdemli bir veritabanı yöneticisidir (DBA) SQL Server ortamlar ve kurumsal veritabanı yönetimi alanında uzmanlaşmıştır. Finansal hizmetler, sağlık ve üretim sektörlerindeki yüzlerce veritabanı kurtarma senaryosunu başarıyla çözmüştür.

Yuan şu konuda uzmanlaşmıştır: SQL Server veritabanı kurtarma, yüksek kullanılabilirlik çözümlerive performans optimizasyonu. Çok terabaytlık veritabanlarını yönetme ve uygulama konularında kapsamlı pratik deneyimi bulunmaktadır. Her Zaman Açık Kullanılabilirlik Gruplarıve kritik iş sistemleri için otomatik yedekleme ve kurtarma stratejileri geliştirmek.

Yuan, teknik uzmanlığı ve pratik yaklaşımıyla, veritabanı yöneticilerinin ve BT profesyonellerinin karmaşık sorunları çözmelerine yardımcı olan kapsamlı kılavuzlar oluşturmaya odaklanıyor. SQL Server Zorlukları verimli bir şekilde çözer. En son gelişmelerle güncel kalır. SQL Server Microsoft'un gelişen veritabanı teknolojilerini ve sürümlerini takip ederek, önerilerinin gerçek dünyadaki en iyi uygulamaları yansıttığından emin olmak için kurtarma senaryolarını düzenli olarak test ediyor.

hakkında sorularınız var SQL Server Kurtarma veya ek veritabanı sorun giderme kılavuzuna mı ihtiyacınız var? Yuan memnuniyetle karşılar geri bildirim ve öneriler Bu teknik kaynakların iyileştirilmesi için.

Şimdi paylaş: