Tamam, ilgilenen herkes için,
Birkaç ay önce sorudaki sorunu, yalnızca 3 sunucunun her birine doğrudan bağlı SSD sürücülerini takarak ve DB verilerini ve günlük dosyalarını SAN'dan bu SSD sürücülerine taşıyarak çözdük
SSD diskleri kurmaya karar vermeden önce, bu konuda araştırma yapmak için ne yaptığımın özeti (bu sorudaki tüm gönderilerin önerilerini kullanarak):
1) 3 sunucunun tümünde aşağıdaki sürücüler için PerfMon sayaçları toplamaya başladı:
Disk F:
SAN tabanlı mantıksal disktir, MDF veri dosyaları
Disk I:
içerir SAN tabanlı mantıksal disktir, LDF günlük dosyaları içerir
Disk T:
doğrudan SSD, sadece tempDB adanmıştır
Aşağıdaki resim 2 haftalık dönem için toplanan ortalama değerlerdir
Disk I: (LDF)
yok sayılabilir: Böyle bir disk Öyle IO ve Gecikme, çok düşük olduğu küçük sahiptir
Bunu görebilirsiniz Disk T: (TempDB)
IO kıyasla daha büyük sahiptir Disk F: (MDF)
0 ms - ve aynı zamanda çok daha iyi Gecikme vardır
Açıkçası Disk F ile ilgili bir sorun var: veri dosyalarının bulunduğu yerde, düşük IO'ya rağmen yüksek Gecikme ve Ort. Disk Yazma Sırası var
2) Bu web sitesinden gelen sorgu kullanılarak ayrı veritabanları için Gecikme Kontrolü
https://www.brentozar.com/blitz/slow-storage-reads-writes/
Birincil sunucudaki çok az etkin veritabanının 150-250 ms okuma gecikmesi ve 150-450 ms yazma gecikmesi
vardı İlginç olan, ana ve msdb veritabanı dosyalarının 90 ms'ye kadar okuma gecikmesi vardı, bu da verilerin küçük boyutu ve düşük IO'su nedeniyle şüphelidir. başka bir gösterge SAN ile ilgili bir sorun var
3) Belirli bir zamanlama yoktu
Hangi sırasında "SQL Server karşılaştı oluşumları ..." mesajları geldi
bu iletiler günlüğe zaman çalışan hiçbir bakım veya disk ağır ETL vardı
4) Windows Olay Görüntüleyicisi
"SQL Server olaylarla karşılaştı ..." dışında, sorunu ipucu verecek başka herhangi bir girdi gösterilmedi.
5) En iyi 10 sorguyu kontrol etmeye başladı
Sp_BlitzCache (cpu, okur, vb) ve olası omptimizing itibaren
rağmen hiçbir süper IO ağır sorgular, ağır veri ton ve etkileyen depolama yayık olur
veritabanlarında İndeksleme Tamam, bunu korumak
6) SAN ekibimiz yok
SAN'a karşı ağ yoluna yardımcı olan sadece 1 sistemadımız var - çok yollu, 3 sunucunun her birinin anahtarlara ve sonra SAN'a giden 2 ağ kablosu var ve 1 Gigabyte / sn olması gerekiyordu.
7) CrystalDiskMark sonucu yoktu
Ya da sunucuların kurulduğu andan itibaren başka bir kıyaslama testi sonuçları, bu yüzden hızların ne olması gerektiğini bilmiyorum ve şu anda Hızların ne olduğunu görmek için bu noktada kıyaslama yapmak mümkün değil, Üretimi etkiledi
8) Söz konusu veritabanı için kontrol noktası olayında Genişletilmiş Olaylar oturumu kurun
XE oturumu, "SQL Server olaylarla karşılaştı ..." iletileri sırasında denetim noktasının gerçekten yavaş olduğunu (90 saniyeye kadar) keşfetmeye yardımcı oldu
9) SQL Server Hata Günlüğü
İçerilen "FlushCache" "Doygunluk" girdileri
Belirli bir veritabanı için denetim noktası süresi kurtarma aralığı ayarlarını aştığında gösterilmesi gerekir
Ayrıntılar, kontrol noktasının temizlemeye çalıştığı veri miktarının küçük olduğunu ve tamamlanmasının uzun sürdüğünü ve toplam hızın yaklaşık 0,25 MB / sn olduğunu gösterdi ... garip
10) Son olarak, bu resim depolama sorun giderme tablosunu gösterir:
Görünüşe göre "Donanım Sorunu: - SAN, eski / hatalı sürücüler, kontrolörler, bellenim, vb. Gibi herhangi bir yanlış yapılandırmayı düzeltmek için sistem yöneticisi / donanım satıcısıyla birlikte çalışın
Başka bir soruda "Yavaş kontrol noktası ..." Yavaş kontrol noktası ve flash depolamada 15 saniyelik G / Ç uyarıları
Sean, sorun gidermek için hangi öğelerin donanım ve yazılım düzeyinde kontrol edilmesi gerektiğine dair çok güzel bir listeye sahipti
Sistem yöneticimiz listeden her şeyi kontrol edemedi, bu yüzden bu konuda bazı donanımları atmayı seçiyoruz - hiç de pahalı değildi
Çözüm:
1 TB SSD sürücü sipariş ettik ve doğrudan sunuculara kurduk
Kullanılabilirlik Gruplarımız olduğu için, ikincil kopyalarda DB veri dosyalarını SAN'dan SSD'ye geçirdiğimizden, başarısız oldum ve eski birincil dosyada taşındı Bu, minimum toplam kesinti süresine izin verdi - 1 dakikadan az
Artık her sunucunun DB verilerinin yerel kopyası var ve belirtilen SAN'a tam / diff / log yedeklemeleri yapılıyor
Windows Olay Görüntüleyicisi günlüklerinde artık "SQL Server olaylarla karşılaştı ..." iletileri ve yedeklemelerin performansı, bütünlük denetimleri, endeks yeniden oluşturma, sorgu vb. önemli ölçüde arttı
DB dosyalarını SSD'ye taşıdığımız için GÇ gecikmesi açısından ne kadar performans gelişti?
Etkiyi değerlendirmek için kullanılan performans Windows Performans İzleyicisi geçişten 2 hafta önce ve geçişten 4 hafta sonra günlüğe kaydeder:
Ayrıca aşağıda DB düzeyinde gecikme istatistikleri karşılaştırması (taşıma işleminden önce ve sonra SQL Server'ın yakalanan sanal dosya istatistikleri kullanılır)
özet
SAN'dan doğrudan bağlı yerel SSD'lere geçiş buna değdi
Bu, depolama gecikmesini büyük ölçüde etkiledi ve ortalama olarak% 90'ın üzerinde (özellikle WRITE operasyonları) iyileşti ve artık IO'da 20-50 sn ani artışlarımız yok
Yerel SSD'ye geçmek yalnızca depolama performansı sorunlarını değil, aynı zamanda endişe duyduğum veri güvenliğini de çözdü (SAN başarısız olursa, 3 sunucunun tümü aynı anda verilerini kaybeder)