Kullanılabilirlik grubundaki ikincil bir veritabanında büyük bir sorgu çalıştırmak birincil veritabanındaki işlem performansını etkiler mi?


17

SSRS ve Tableau raporlaması için gerçek zamanlı veya neredeyse gerçek zamanlı veri sağlamam gerekiyor. Üretim OLTP sisteminin uzun süren sorgulardan olumsuz etkilenmesini istemiyorum. Kullanılabilirlik grubundaki ikincil bir veritabanında büyük bir sorgu çalıştırmak birincil veritabanındaki işlem performansını etkiler mi?

Yanıtlar:


14

Kullanılabilirlik grubundaki ikincil bir veritabanında büyük bir sorgu çalıştırmak birincil veritabanındaki işlem performansını etkiler mi?

Kullanılabilirlik grubunu yapılandırırken kullandığınız senkronizasyon moduna bağlıdır - Sync veya Async!

Açık İkincil çoğaltma , tüm işlemler SADECE Anlık İzolasyon seviyesini kullanmak ve tüm kilitleme ipuçları yanı yok sayılır. Bu nedenle, AlwaysON'u kucaklarken iş yükünüzü test etmek önemlidir.

Kimden: İkincil Çoğaltma'da raporlama iş yükünü çalıştırırken REDO iş parçacığının engellenmesini en aza indirme

Raporlama iş yükünü anlık görüntü yalıtımı ile eşlemek, ikincil kopyadaki REDO iş parçacığı tarafından uygulanan DML iş yükü ile okuma veya raporlama iş yükü arasındaki engellemeyi ortadan kaldırırken, bir DDL işlemi yürütürken REDO iş parçacığının potansiyel engellemesini ortadan kaldırmaz .

Kullanıyorsanız

  • Senkron mod

    • İkincil eşlemenizdeki engelleme sorunu, birincil eşlemedeki sorgularınızın performansını etkiler. Bu nedenle, ikincilde çalıştırılan bir okuma iş yükü (select), yineleme iş parçacığının birincil çoğaltmadan gelen değişiklikleri uygulamasını engelleyebilir. Bu, birincil eşlemenin değişikliklerin yerel olarak tamamlanmadan önce tüm ikincil SYNC eşlemesine uygulanmasını beklemesi gerektiği anlamına gelir ve zaman aşımlarına, engellemeye veya kilitlenmeye neden olabilir.

      REDO dizisi, okunabilir İkincil'de DB STARTUPkomut olarak görülebilir sys.dm_exec_requests. Bu iş parçacığı engelleniyorsa, ikincil öğedeki okuma iş yükünüz birincil öğeyi etkileyebilir.

      Daha fazla ayrıntı için denetleyin - Senaryo 1: İkincil çoğaltmadaki büyük sorgu nedeniyle REDO engellendi

  • Eşzamansız mod

    • Birincil, ikincil öğeden onay beklemez. İkincil üzerindeki bir engelleme sorunu ikincil olarak izole edilir; burada yineleme kuyruğu, kilitler temizlenene ve yineleme iş parçacığı günlük bloklarını uygulayabilene kadar ikincilde büyüyecektir. Bu birincil kopyayı etkilemez.

"Gerçek zamanlı veya neredeyse gerçek zamanlı" tanımınızın, kullanılan senkronizasyon yöntemini, ağ gecikmesini ve ne kadar meşgul olduğunu birincil çoğaltma ve ikincil olarak taşınması gereken günlük etkinliğini göz önünde bulundurarak daha fazla düşünmeye ihtiyacı vardır.

SQL Server 2016, AlwaysON bölgesinde bazı önemli geliştirmeler yapmıştır;


2
Engellenen bir REDO iş parçacığı, "sorgularınızın Birincil çoğaltmadaki performansını" etkilemez. İkincil bilgisayardaki IO çekişmesi, ikincil kayıt günlüğünü kaydetmeyi geciktirebilir; Ancak bunun REDO iş parçacığı ile ilgisi yoktur. Birincil, REDO'nun değişikliği uygulamasını beklemez; sadece günlük dosyasına yazılması için. Bkz. Blogs.msdn.microsoft.com/sqlserverstorageengine/2011/12/22/…
David Browne - Microsoft
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.