Sekiz yaygın sebep
Aşağıdakiler sahada en sık karşılaştığımız başlıklar. Her birinin altında, kendi sisteminizde bakabileceğiniz teşhis adımı var.
1. Index bakımı hiç yapılmamış
Zamanla parçalanan indexler sorguları yavaşlatır. Düzenli bir bakım planı yoksa performans yıl içinde fark ettirmeden düşer.
Teşhis: Parçalanma oranını ve en çok taranan tabloları listeleyin.
2. tempdb yanlış yapılandırılmış
tempdb, tek dosya halinde ve sistem diskinde bırakıldığında yoğun saatlerde darboğaz olur.
Teşhis: tempdb dosya sayısını, boyutunu ve hangi diskte olduğunu kontrol edin.
3. Sunucu belleği yetersiz veya SQL’e sınır konmamış
SQL Server’a azami bellek sınırı verilmediğinde işletim sistemi ile bellek yarışına girer; ikisi de yavaşlar.
Teşhis: Toplam RAM ile SQL max server memory ayarını karşılaştırın.
4. Disk alt sistemi yavaş
Veritabanı hâlâ dönen diskte veya paylaşımlı yavaş bir depolamadaysa başka hiçbir ayar bunu kurtarmaz.
Teşhis: Veri ve log dosyalarının hangi diskte olduğunu ve disk gecikmesini ölçün.
5. Yedekleme mesai saatinde çalışıyor
Tam yedek gün ortasında başladığında kullanıcılar programın "birden" yavaşladığını söyler.
Teşhis: Yedekleme işlerinin başlangıç saatlerine bakın.
6. Ağ veya terminal sunucu darboğazı
Sorun veritabanında değil, istemci ile sunucu arasındaki yolda olabilir. Terminal sunucuda oturum başına kaynak sınırı da benzer belirti verir.
Teşhis: Aynı işlemi sunucu üzerinde ve istemcide ayrı ayrı deneyin.
7. Veritabanı bakımsız büyümüş
Yıllarca silinmemiş hareket kaydı, kapatılmamış dönem ve şişmiş log dosyası birikince sorgular ağırlaşır.
Teşhis: Veritabanı ve log dosyası boyutlarının yıllık değişimine bakın.
8. Antivirüs veritabanı dosyalarını tarıyor
SQL veri ve log dosyaları antivirüs istisnalarına eklenmediğinde her yazma işlemi taranır.
Teşhis: Antivirüs istisna listesinde .mdf, .ldf ve yedek klasörü var mı bakın.
Kendiniz yapabileceğiniz üç kontrol
Bizi aramadan önce bunlara bakarsanız, sorunun hangi katmanda olduğunu büyük ölçüde daraltmış olursunuz.
- Yavaşlık herkeste mi, yoksa tek bir kullanıcıda mı? Tek kullanıcıysa sorun istemcide olabilir.
- Yavaşlık günün belirli saatlerinde mi başlıyor? Yedekleme veya toplu iş çakışıyor olabilir.
- Sunucuya doğrudan bağlanınca da yavaş mı? Değilse sorun ağda veya terminal sunucuda.
Ne zaman profesyonel gerekir?
Yukarıdaki kontroller sorunu daraltmadıysa veya bulgu SQL Server yapılandırmasına işaret ediyorsa, ölçüm yapmadan değişiklik yapmayın.
Canlı bir veritabanında index veya bellek ayarıyla oynamak, düzeltmek yerine bozabilir. Bu noktadan sonrası ölçüm ve planlama işi.
SQL performans denetimi neyi kapsıyor?
- Index kullanımı ve parçalanma analizi
- tempdb yapılandırması ve disk yerleşimi
- Bellek ve işlemci ayarları
- Bakım planı ve yedekleme zamanlaması
- En pahalı sorguların profillenmesi
- Sunucu boyutlandırma önerisi
- Bulguların etki sırasına göre yazılı raporu
Yavaşlığın sebebini ölçelim
Sisteminize bakıp yavaşlığın hangi katmandan geldiğini çıkaralım. Bulguları etki sırasına göre yazılı veriyoruz — düzeltmeyi bizimle yapmak zorunda değilsiniz.
Yanıt süremiz: aynı gün içinde.
Sık sorulan sorular
-
Sorun çoğunlukla programın kendisinde değil, altındaki SQL Server ve sunucu yapılandırmasındadır. Index bakımı, tempdb yerleşimi, bellek ayarı ve disk hızı en sık karşılaşılan başlıklardır.
-
Bazen evet, ama çoğu durumda hayır. Yapılandırma sorunu olan bir sistemde daha güçlü donanım sadece sorunu erteler. Önce ölçmek, sonra harcamak gerekir.
-
Sistem büyüklüğüne göre değişiyor. Denetim sonunda hangi bulgunun ne kadar etki ettiğini ve hangi sırayla düzeltilmesi gerektiğini yazılı olarak veriyoruz.
-
Evet. SQL Server ve sunucu tarafı, yazılımı kimden aldığınızdan bağımsız bir katman. Mevcut iş ortağınızla çalışmaya devam edebilirsiniz.