MSSQL Server’da BROKER_TRANSMITTER Bekleme Tipi

SQL Server’da BROKER_TRANSMITTER, Service Broker mekanizmasının bir parçasıdır. Service Broker üzerinden bir mesaj gönderileceği zaman, bu mesajı “iletmekten” (transmit) sorumlu olan bir iş parçacığının (thread), yapacak yeni bir iş gelene kadar beklediği süreyi ifade eder.

Tıpkı SP_SERVER_DIAGNOSTICS_SLEEP gibi, bu da genellikle “Zararsız” (Idle/Benign) bir bekleme tipi olarak kabul edilir.

Service Broker; veritabanları arasında veya aynı veritabanı içinde asenkron mesajlaşma yapılmasını sağlar. Bu süreçte bir Transmitter (İletici) thread’i bulunur.

  • Sistem Boştayken: Service Broker aktifse ancak o an gönderilecek bir mesaj yoksa, iletici thread uyku moduna geçer ve bu bekleme tipi kaydedilir.
  • Mesaj Gönderilirken: Mesajlar çok hızlı gönderilip bitiyorsa, thread tekrar uykuya dalar.

Normal şartlarda bu beklemeyi görmezden gelebilirsiniz. Ancak aşağıdaki durumlar eşlik ediyorsa bir darboğazdan şüphelenilebilir:

  • Çok Yüksek CPU Kullanımı: Eğer BROKER_TRANSMITTER ile birlikte CPU tavan yapıyorsa, Service Broker mesajlarının serileştirilmesi veya şifrelenmesi (encryption) CPU’yu yoruyor olabilir.
  • Ağ Tıkanıklığı: Eğer mesajlar başka bir sunucuya (External Endpoint) gönderiliyorsa ve ağ çok yavaşsa, transmitter veriyi paketleyip göndermekte zorlandığı için bu bekleme süreleri anormal şekilde uzayabilir.
  • Sıra (Queue) Birikmesi: sys.transmission_queue tablosunda çok fazla birikmiş mesaj varsa ama hala BROKER_TRANSMITTER bekliyor görünüyorsa, bir yapılandırma sorunu olabilir.

Bu bekleme tipi performans raporlarınızda en üstteyse ama sisteminizde bir yavaşlık yoksa hiçbir şey yapmanıza gerek yoktur. Sadece sistemin Service Broker özelliğinin aktif olduğunu ve ileticinin iş beklediğini gösterir.

Ancak Service Broker performansından şüpheleniyorsanız şu adımları izleyin:

  1. Transmission Queue Kontrolü: Gönderilemeyen mesaj olup olmadığına bakın: SELECT * FROM sys.transmission_queue;
  2. Hata Kayıtları: Service Broker hatalarını Error Log içinde arayın.
  3. Endpoint Durumu: Eğer veritabanları arası mesajlaşma varsa, Endpoint’lerin STARTED durumunda olduğunu teyit edin.

Başka makalede görüşmek dileğiyle…

Onlar, namazı dosdoğru kılarlar ve kendilerine rızık olarak verdiklerimizden infak ederler. Enfal Suresi, 3. Ayet

Author: Yunus YÜCEL

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir