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.
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:
- Tıkla Ana Sayfayazın perfmon Arama kutusunda, arama sonucundaki “Performand Monitor”e tıklayın:
- Basın Windows + Ryazın perfmon, ve bas Keşfet
- Şu yöne rotayı ayarla Kumanda panosu -> Sistem ve Güvenlik -> yönetimsel Araçlar -> performans izleyicisi
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ı:
- Açık Performans İzleyicisi
- Genişletmek Veri Toplayıcı Setleri
- Sağ tıklatın Kullanıcı Tanımlı
- Seç Yeni -> Veri Toplayıcı Seti
- Açıklayıcı bir ad girin (örneğin, "SQL Server Performans Metrikleri”)
- Seç El ile oluştur (Gelişmiş)
- Tıkla Sonraki
- Kontrol Veri günlükleri oluştur -> Performans Sayacı
- Tıkla Sonraki
- Tıkla Ekle sayaçları seçmek için
- Ekle İstediğiniz SQL Server ve sistem sayaçları.
- 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.
- Tıkla Sonraki
- Günlüklerin kaydedileceği konumu seçin
- Tıkla Bitiş, yeni bir Veri Toplayıcı Seti oluşturulacak.
- 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
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:
- Veri Toplayıcı Setini oluşturduktan sonra, sağ tıklayın ve seçin Emlaklar
- Tıkla Durma Durumu çıkıntı
- etkinleştirme Genel süre
- Süreyi 1 güne (24 saat) ayarlayın
- Tıkla OK kaydetmek için
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:
- Veri Toplayıcı Setinize sağ tıklayın ve seçin Emlaklar
- Tıkla Çizelge çıkıntı
- Tıkla Ekle yeni bir program oluşturmak için
- Başlangıç tarihini ve saatini yapılandırın.
- Tekrarlama düzenini ayarlayın (örneğin, günlük)
- Tıkla OK programı kaydetmek için
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:
- Açık Performans İzleyicisi
- Genişletmek Performans Günlükleri ve Uyarıları sol bölmede
- Sağ tıklatın Sayaç Günlükleri
- Seç Yeni Günlük Ayarları
- Günlüğe veritabanı sunucunuzun adını verin (örneğin, "ProductionSQL01")
- 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:
- Tıkla Sayaç Ekle düğmesine tıklayın
- Bilgisayar adını, size işaret edecek şekilde değiştirin SQL Server örnek
- Basın çıkıntı mevcut performans nesnelerini yüklemek için
- Açılır menüden bir performans nesnesi seçin (örneğin, Bellek)
- Belirli sayaçları seçin liste
- Uygunsa örnekleri seçin (örneğin, tek tek işlemciler veya diskler).
- Tıkla Ekle sayacı dahil etmek için
- İstenilen tüm sayaçlar için tekrarlayın
- 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:
- Sayaç günlüğü özelliklerinde, şunu bulun: Her örnek veri
- Aralığı ayarlayın (varsayılan 15 saniyedir)
- Temel izleme için günlük toplamada 1 dakikalık aralıklar kullanın
- Sorun giderme için kısa süreli 15-30 saniyelik aralıklar kullanın
- 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:
- Tıkla Dosyalar oturum sayaç günlüğü özelliklerinde sekme
- Günlük dosyası türünü şu şekilde değiştirin: Metin Dosyası (Virgülle ayrılmış) kolay Excel aktarımı için
- Tıkla yapılandırma
- Dosya yolunu özel bir konuma (örneğin, paylaşılan bir PerformanceLogs klasörü) ayarlayın
- 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:
- Sayaç günlüğü özelliklerinde, şunu bulun: Olarak çalıştırmak
- Alan adı kullanıcı adınızı şu formatta girin: DOMAIN\kullanıcı adı
- Tıkla Şifre ayarlama
- Şifrenizi girin ve onaylayın
- 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:
- Açık Performans İzleyicisi
- Sol bölmede, tıklayın İzleme Araçları -> performans izleyicisi.
- Grafik alanında herhangi bir yere sağ tıklayın
- Seç Emlaklar
- Tıkla Kaynak çıkıntı
- Seç Günlük dosyaları Radyo düğmesi
- Tıkla Ekle
- Günlük dosyanıza gidin (.blg veya .csv)
- Dosyayı seçin ve tıklayın Açılış
- Kullan Zaman aralığı analiz etmek istediğiniz dönemi seçmek için kaydırıcı
- Tıkla OK Özellikler iletişim kutusunu kapatmak için
- Günlük dosyasından sayaç eklemek için yeşil artı simgesine tıklayın
- Görüntülenecek istenen sayaçları seçin
- 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:
- Günlük dosyanız yüklenmiş halde Performans İzleyicisini açın
- Grafik alanında herhangi bir yere sağ tıklayın
- Seç Verileri Farklı Kaydet
- Dosya için bir konum seçin
- Seç Metin Dosyası (Virgülle ayrılmış) (.csv) açılır menüden
- Tıkla İndirim
- CSV dosyasını Excel'de açın
Daha iyi analiz için dışa aktarılan verileri biçimlendirin:
- Yarı boş satır 2'yi silin ve A1 hücresini temizleyin
- A sütununu Tarih/Saat olarak biçimlendir
- Sayısal sütunları sıfır ondalık ve binlik ayırıcıyla biçimlendirin
- Başlıklardaki sunucu adlarını bulun ve değiştirin (örneğin, “\\SERVERNAME” ifadesini boş bırakın)
- Başlıklardaki nesne adlarını temizleyin (örneğin, “Bellek”, “Fiziksel Disk”, “İşlemci”)
- 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:
- E-tablonuzun en üstüne 7 boş satır ekleyin
- A sütununa etiketler ekleyin: Ortalama, Medyan, Min, Maks, Standart Sapma
- B2 hücresine şunu girin: =ORTALAMA(B9:B100) (B100'ü son veri satırınıza göre ayarlayın)
- B3 hücresine şunu girin: =MEDIAN(B9:B100)
- B4 hücresine şunu girin: =MIN(B9:B100)
- B5 hücresine şunu girin: =MAX(B9:B100)
- B6 hücresine şunu girin: =STDEV(B9:B100)
- Formülleri tüm sayaç sütunlarına kopyala
- 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
7.2 PAL Kurulumu
Aşağıdaki adımları izleyerek PAL'ı yükleyin:
- PAL kurulum dosyasını GitHub'dan indirin
- Yükleyiciyi çalıştırın
- Tıkla Sonraki karşılama ekranında
- Kurulum dizinini inceleyin ve kabul edin
- Tıkla Sonraki devam etmek
- Tıkla kurmak kuruluma başlamak için
- Yükleme işleminin tamamlanmasını bekle
- Tıkla Bitiş
7.3 PAL ile Günlük Dosyalarının İşlenmesi
Performans İzleyicisi günlüklerinizi PAL kullanarak analiz edin:
- PAL uygulamasını Başlat menüsünden veya kurulum dizininden başlatın.
- Tıkla Sayaç Günlüğü çıkıntı
- Tıkla Araştır .blg dosyanızı seçmek için
- Performans İzleyicisi günlük dosyanıza gidin
- Tıkla Açılış
- Tıkla Eşik Dosyası çıkıntı
- Açılır menüden bir eşik dosyası seçin (örneğin, "SQL Server 2016” )
- Tıkla Sorular çıkıntı
- Sistem yapılandırmanızla ilgili soruları yanıtlayın
- Belirtin mi? SQL Server OLTP mi yoksa Veri Ambarı mı?
- Toplam kullanılabilir RAM'i girin
- Tıkla Çıktı Seçenekleri çıkıntı
- HTML raporu için bir çıktı dizini seçin
- Kontrol HTML çıkış biçimi
- Tıkla Gerçekleştirmek çıkıntı
- Seçimlerinizi gözden geçirin
- Kontrol Şimdi yürütmeye başla
- 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:
- Açılış SQL Server Management Studio'yu (SSMS) kullanın ve sunucu örneğinize bağlanın
- Nesne Gezgini'nde sunucu adına sağ tıklayın
- Seç Activity Monitor
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.
8.1.2 SQL Server Performans Gösterge Tablosu
SQL Server Management Studio yerleşik performans raporlarını içerir:
- In SQL Server Yönetim Stüdyosu'na (SSMS) sağ tıklayın SQL Server Nesne Gezgini'ndeki örnek
- Seç Raporlar -> Standart Raporlar
- Mevcut raporlardan birini seçin: Performans Gösterge Tablosu
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.
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:
- In SQL Server Yönetim Stüdyosu, tıklayın Montaj Ekipmanı -> SQL Server Profiler
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.
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:
- In Nesne Gezgini, sunucunuzu genişletin ve şuraya gidin: Yönetim -> Genişletilmiş Etkinlikler -> Oturumlar
- Üzerinde sağ tıklayın Oturumlar Ve seç Yeni Oturum Sihirbazı
- 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.
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.
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ı.
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.
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:
- En az bir hafta boyunca normal operasyonlar sırasında performans verilerinin toplanması
- Hem yoğun hem de yoğun olmayan saatlerde metrikleri yakalama
- Anahtar sayaçları için tipik değerlerin belgelenmesi
- Mevsimsel değişimleri (varsa) kaydetmek.
- 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:
- İşlemci Sıra Uzunluğu sayacını kontrol edin. Çekirdek başına 2'nin üzerindeki değerler CPU yükünü gösterir.
- % İşlemci Süresini İnceleyin. %75'in üzerindeki sürekli değerler CPU darboğazını göstermektedir.
- Uzak masaüstüne SQL Server
- Görev Yöneticisi'ni açın (Ctrl+Shift+Esc)
- Tıkla süreçler çıkıntı
- Kontrol Tüm kullanıcıların süreçlerini göster
- Tıkla işlemci CPU kullanımına göre sıralamak için sütun başlığı
- 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:
- 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)
- "Sayfaları Bellekte Kilitle" iznini etkinleştirin SQL Server hizmet hesabı
- Bellek baskısı devam ederse sunucuya daha fazla fiziksel RAM ekleyin
- 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:
- SSMS'de Etkinlik İzleyicisini Açın
- genişletmek süreçler Bölüm
- Sıfır olmayan süreçleri arayın Tarafından engellendi değerlerimiz
- Engelleyen oturum kimliğini tanımlayın
- 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
- SSMS'de sunucu adına sağ tıklayın
- Seç Activity Monitor
- Genişletmek Son Pahalı Sorgular
- 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
- SSMS'de yeni bir sorgu penceresi açın
- Tıkla Tahmini Yürütme Planını Görüntüle (Ctrl+L) veya Gerçek Uygulama Planını Dahil Et (Ctrl+M)
- Sorgunuzu çalıştırın
- Pahalı operasyonlar için yürütme planını inceleyin
- 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
- SSMS Nesne Gezgini'nde bir veritabanına sağ tıklayın
- Seç Emlaklar
- Tıkla Sorgu Deposu Kanal
- In Çalışma Modu (İstenen)seçin Okunur
- Gerektiğinde ek ayarları yapılandırın
- Tıkla OK
Sorgu Performansını İzleme
Object Explorer aracılığıyla Query Store raporlarına erişim:
- Object Explorer'da veritabanını genişletin
- Genişletmek Sorgu Deposu
- 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:
- Sorguyu Sorgu Deposunda açın
- İstediğiniz plana sağ tıklayın
- 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
- SSMS'de genişletin SQL Server Danışman
- Sağ tıklatın İş İlanlar seçin Yeni iş
- İşin adını verin (örneğin, "Performans Ölçümlerini Topla")
- Tıkla Adımlar ve yeni bir adım ekleyin
- Türü şu şekilde ayarlayın: Transact-SQL betiği
- Veri toplama betiğinizi girin
- Tıkla Tarifeleri ve bir program ekle
- Sıklığı yapılandırın (örneğin, her 5 dakikada bir)
- Tıkla OK iş yaratmak için
Otomatik Raporlama
Performans raporları üreten ve e-postayla gönderen işler yaratın:
- Raporlar üreten bir saklı yordam oluşturun
- Raporları e-posta yoluyla göndermek için Veritabanı Postasını kullanın
- İş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
- Power BI'ı performans veri tablolarınıza bağlayın
- Temel metrikler için görselleştirmeler oluşturun
- Zaman aralığı ve sunucu seçimi için dilimleyiciler ekleyin
- Panoları Power BI Hizmetine yayınlayın
- 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ı
- Kontrol SQL Server maksimum bellek ayarı – varsayılan olarak ayarlandığı keşfedildi (sınırsız)
- Toplam sunucu belleği ile hedef sunucu belleği karşılaştırıldı ve önemli bir fark olduğu görüldü.
- İşletim sistemi için 8 GB bırakılacak şekilde yapılandırılmış maksimum sunucu belleği
- "Sayfaları Bellekte Kilitle" izni etkinleştirildi SQL Server hizmet hesabı
- Sunucuya 32 GB ek RAM eklendi
- 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ı
- En çok CPU tüketen sorguları belirlemek için DMV'ler kullanıldı
- Tanımlanan sorgular için analiz edilen yürütme planları
- Eksik dizinler nedeniyle büyük tablolarda birden fazla tablo taraması keşfedildi
- Yürütme planı önerilerine göre uygun endeksler oluşturuldu
- Aşırı derlemelere neden olan dinamik SQL belirlendi
- Parametreli sorguları kullanmak için değiştirilmiş uygulama kodu
- Sorunlu saklı prosedürler için uygulanan plan kılavuzu
- 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ı
- Doğrulanan bellek ayarları uygundu - bellek sorunu bulunamadı
- Disk yapılandırması analiz edildi - aynı mil setindeki tüm dosyalar keşfedildi
- Ayrılmış işlem günlükleri özel hızlı SSD sürücülere aktarıldı
- tempdb'yi ayrı SSD sürücülerine taşıdım
- Birden fazla tempdb veri dosyası uygulandı (çekirdek başına bir tane)
- Veri dosyası sürücüleri RAID 10 SSD yapılandırmasına yükseltildi
- Daha küçük işlem grupları kullanmak için toplu işler optimize edildi
- 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ı
- Hafta 1: Temel sayaçlarla Performans İzleyicisini ayarlayın
- Hafta 2: Otomatik toplama için Veri Toplayıcı Kümeleri Oluşturun
- Hafta 3: Normal operasyonlar sırasında temel değerleri belirleyin
- Hafta 4: Kritik eşikler için uyarıları yapılandırın
- Ay 2: Ek izleme araçlarını (DMV'ler, Genişletilmiş Etkinlikler) uygulayın
- Ay 3: Özel panolar ve raporlar geliştirin
- 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:
- Performans izleyicisi: Sayaç eklerken uzak bilgisayar adını belirtin
- Güç kalkanı: -ComputerName parametresini Get-Counter ile kullanın
- DMV'ler: SSMS aracılığıyla uzak sunuculara bağlanın ve DMV'lere sorgu gönderin
- Üçü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:
- Günlük dosyanız yüklenmiş halde Performans İzleyicisini açın
- Grafiğe sağ tıklayın ve seçin Verileri Farklı Kaydet
- Klinik Metin Dosyası (Virgülle ayrılmış) (.csv)
- Konumu seçin ve kaydedin
- 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:
- SQL Server Performans İzleme dokümantasyonu: https://learn.microsoft.com/en-us/sql/relational-databases/performance-monitor/
- Dinamik Yönetim Görünümleri: https://learn.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/
- Genişletilmiş Etkinlikler: https://learn.microsoft.com/en-us/sql/relational-databases/extended-events/
- Sorgu Deposu: https://learn.microsoft.com/en-us/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store
- Performans ayarlama ve izleme: https://learn.microsoft.com/en-us/sql/relational-databases/performance/
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.





























