Tempdb'ye hangi hash / sort dökülme sıklığı dahildir?


10

Kurumsal uygulamamız veri depolama için SQL Server kullanıyor ve öncelikle bir OLTP sistemidir. Ancak, uygulamamızın önemli bir bileşeni önemli bir OLAP iş yükü oluşturur.

Tempdb'e yazma gecikmemiz yaklaşık 100 ms'dir. Bu eğilim zamanla tutan ve ALLOW_SNAPSHOT_ISOLATIONaçık olduğundan kapalı . Sorunla ilgili bu sorunu gideriyoruz ve şimdiye kadar bulduğumuz tek ilginç şey tempdb için önemli sayıda hash ve sort döküntüsü olması. Bunun OLAP iş yükümüzden geldiğini düşünüyoruz.

Soru

Hangi dökülme sıklığı söz konusudur? Hiç? Kaç döküntü / saniye? Ön verilerimiz, saniyede yaklaşık 2 karma dökülme ve dakikada 25 çeşit dökülmeye sahip olduğumuzu göstermektedir.

Bu dökülme sıklığının yüksek tempdb yazma gecikmemizde birincil suçlu olması mümkün müdür?

Diğer bilgiler

Her çekirdek sayısı için önerildiği gibi tempdb için birden fazla dosya kullanıyoruz. Tempdb dosyaları bir RAID 1 + 0 SAN'da (yüksek performanslı SSD'lerle), ancak bu, ana DB verileri ve günlük dosyalarıyla aynı cihazdır. Tempdb dosyaları çok seyrek olarak büyüyecek kadar büyük boyuttadır. 1117 veya 1118 izleme bayraklarını kullanmıyoruz.

100 ms yazma gecikmemiz, MSDN, SQL Becerileri ve diğer sitelerde bulduğumuz tempdb yazma gecikmesi için kabul edilebilir aralıklardan çok daha fazladır. Ancak, diğer veritabanlarımız için yazma gecikmesi iyidir (10 ms'nin altında). Diğer istatistiklere göre, özellikle dahili nesneler için tempdb'yi yoğun bir şekilde kullandığımız anlaşılıyor. Bu yüzden uygulamamızın neden dahili nesneleri bu kadar yoğun kullandığını bulmaya çalışıyoruz.

Platformumuzda çeşitli şekillerde ortaya çıkan gerçek performans sorunlarımız var. Mükemmel sayaçları izliyor, DM görünümlerine bakıyoruz ve sistemimizin kaynak kullanım özelliklerini incelemek için uygulama davranışımızı analiz ediyoruz. Dökülmelere odaklandık çünkü dökülmelerin bellek yerine disk üzerinde gerçekleştirildikleri için ciddi olumsuz etkileri var. Çok fazla dökülme var gibi gözüküyor, ama insanların "yüksek" olarak gördükleri hakkında bir miktar bilgi almak istedim.

Yanıtlar:


12

Bu dökülme sıklığının yüksek tempdb yazma gecikmemizde birincil suçlu olması mümkün müdür?

Evet öyle mümkün tipik bunun dökülmeleri ortalama büyüklüğü olsa, ve ne kadar derin gittikleri (yani özyinelemeli karma sızıntıları, çok geçişli sıralar) olduğunu daha se başına frekansından daha önemlidir.

SQL Server, birçoğu Microsoft Teknik Makalesi, "SQL Server 2005'te tempdb ile çalışma" bölümünde tartışılan çeşitli faktörleri gidermenize yardımcı olmak için çok çeşitli metrikler ve DMV bilgileri sağlar (2005'ten sonraki tüm sürümler için geçerlidir) ).

Herhangi bir tempdb basıncının birincil nedenlerini belirlemeye başlamak için bu belgedeki kılavuz ve tanılama sorgularını kullanabilmeniz gerekir. Örneğin ALLOW_SNAPSHOT_ISOLATION, yalnızca etkin olmadığı için sürüm deposu etkinliğini göz ardı etmeyin . Birçok özellik, anlık görüntü yalıtımı dışında sürüm deposunu (örn. Tetikleyiciler, MARS, RCSI) kullanır.

Sıralama ve karma dökülmelerinin yüksek düzeyde önemli olduğu ortaya çıkarsa, bunun için muhtemelen belirli bir izleme ayarlamanız gerekecektir. SQL Server sürümünüze bağlı olarak, umduğunuz gibi bu her zaman basit değildir. Sıralama ve karma dökülmelerine neden olan sorgu ile bağlantı kurmak için Olay Bildirimleri veya Genişletilmiş Olaylar gerekir. " Sıralama Uyarılarını Belirleme ve Çözme " adlı SolidQ makalesinde, sık karşılaşılan nedenlerin çözümü hakkında ayrıntılar ve bazı genel öneriler yer almaktadır.

Ayrıca, yüksek gecikmenin ne kadarının iş yükünüze atfedilebileceğini, diğer paylaşılan kullanımlardan ne kadarının geldiğini ve yeniden yapılandırma için hangi seçeneklerin bulunduğunu belirlemek için depolama ekibinizle birlikte çalışmalısınız. SQL Server'ın metrikleri analiziniz, SAN halkının sağlayabileceği tüm metrikler gibi bu tartışmayı bilgilendirmeye yardımcı olacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.