İleti sayaçlarını alma
Bu makalede, bir kuyruk veya abonelik için ileti sayılarını almanın farklı yolları gösterilmektedir. Etkin ileti sayısını bilmek, kuyruğun şu anda dağıtılandan daha fazla kaynak gerektiren bir kapsam oluşturup oluşturmadığını belirlemede yararlıdır.
Sayaç | Açıklama |
---|---|
ActiveMessageCount | Kuyrukta veya abonelikte etkin durumda olan ve teslim için hazır olan ileti sayısı. Bu, ertelenen iletileri içerir. |
ScheduledMessageCount | Zamanlanmış durumdaki ileti sayısı. |
DeadLetterMessageCount | Teslim edilemeyen ileti kuyruğundaki iletilerin sayısı. |
TransferMessageCount | Başka bir kuyruğa veya konuya aktarımı bekleyen ileti sayısı. |
TransferDeadLetterMessageCount | Başka bir kuyruğa veya konuya aktaramayan ve teslim edilemeyen iletileri aktarma kuyruğuna taşınan iletilerin sayısı. |
Bir uygulama, kaynakları kuyruğun uzunluğuna göre ölçeklendirmek istiyorsa, bunu ölçülen bir hızda yapmalıdır. İleti sayaçlarının alınması, ileti aracısı içinde pahalı bir işlemdir ve bunu sık sık doğrudan yürütmek ve varlık performansını olumsuz etkiler.
Ölçeklendirme için dikkate alınması gereken bir diğer yararlı ölçüm de en son iletinin gönderildiği zaman ile "kritik zaman" olarak da bilinen işlenme zamanıdır. Bu, kuyruğun içinde binlerce ileti olabileceği ancak işlemenin devam edecek kadar hızlı olduğu ve yalnızca birkaç saniyelik bir "kritik süre" verdiği ve e-posta gönderme uç noktası gibi bir şey için fazlasıyla yeterli olabileceği senaryolar için yararlıdır. NServiceBus gibi üçüncü taraf kitaplıklar, OpenTelemetry aracılığıyla bu ve diğer yararlı ölçümleri yayar.
Not
Service Bus konusuna gönderilen iletiler bu konunun aboneliklerine iletilir. Bu nedenle, konu başlığındaki etkin ileti sayısı 0'dır, bu iletiler aboneliğe başarıyla iletilmiştir. Abonelikte ileti sayısını alın ve 0'dan büyük olduğunu doğrulayın. Abonelikte iletileri görmenize rağmen, bunlar aslında konuya ait bir depolama alanında depolanır. Aboneliklere bakarsanız, konu tarafından kullanılan depolama alanına katkıda bulunan sıfır olmayan ileti sayısına sahip olur.
Azure portalı kullanarak
Ad alanınıza gidin ve kuyruğu seçin. Kuyruğun Genel Bakış sayfasında ileti sayaçlarını görürsünüz.
Ad alanınıza gidin, konuyu seçin ve ardından konu için aboneliği seçin. Kuyruğun Genel Bakış sayfasında ileti sayaçlarını görürsünüz.
Azure CLI'yı kullanma
az servicebus queue show
Aşağıdaki örnekte gösterildiği gibi bir kuyruğun ileti sayısı ayrıntılarını almak için komutunu kullanın.
az servicebus queue show --resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--query countDetails
Aşağıda örnek bir çıkış verilmişti:
ActiveMessageCount DeadLetterMessageCount ScheduledMessageCount TransferMessageCount TransferDeadLetterMessageCount
-------------------- ------------------------ ----------------------- ---------------------- --------------------------------
0 0 0 0 0
az servicebus topic subscription show
Aşağıdaki örnekte gösterildiği gibi aboneliğin ileti sayısı ayrıntılarını almak için komutunu kullanın.
az servicebus topic subscription show --resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysub \
--query countDetails
Azure PowerShell’i kullanma
PowerShell ile bir kuyruğun ileti sayısı ayrıntılarını aşağıdaki gibi alabilirsiniz:
$queueObj=Get-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue
$queueObj.CountDetails
Örnek çıktı şu şekildedir:
ActiveMessageCount : 7
DeadLetterMessageCount : 1
ScheduledMessageCount : 3
TransferMessageCount : 0
TransferDeadLetterMessageCount : 0
aboneliğin ileti sayısı ayrıntılarını aşağıdaki gibi alabilirsiniz:
$topicObj= Get-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-TopicName mytopic `
-SubscriptionName mysub
$topicObj.CountDetails
Döndürülen MessageCountDetails
nesne şu özelliklere sahiptir: ActiveMessageCount
, DeadLetterMessageCount
, ScheduledMessageCount
, TransferDeadLetterMessageCount
, TransferMessageCount
.
Sonraki adımlar
Azure Service Bus özelliklerini keşfetmek için örnekleri istediğiniz dilde deneyin.
- .NET için Azure Service Bus istemci kitaplığı örnekleri (en son)
- Java için Azure Service Bus istemci kitaplığı örnekleri (en son)
- Python için Azure Service Bus istemci kitaplığı örnekleri
- JavaScript için Azure Service Bus istemci kitaplığı örnekleri
- TypeScript için Azure Service Bus istemci kitaplığı örnekleri
Eski .NET ve Java istemci kitaplıkları için örnekleri aşağıda bulabilirsiniz:
- .NET için Azure Service Bus istemci kitaplığı örnekleri (eski)
- Java için Azure Service Bus istemci kitaplığı örnekleri (eski)
30 Eylül 2026'da Azure SDK yönergelerine uymayan WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus ve com.microsoft.azure.servicebus Azure Service Bus SDK kitaplıklarını kullanımdan kaldıracağız. Ayrıca SBMP protokolünün desteğini de sonlandıracağız, bu nedenle 30 Eylül 2026'da bu protokolü artık kullanamayacaksınız. Bu tarihten önce kritik güvenlik güncelleştirmeleri ve geliştirilmiş özellikler sunan en son Azure SDK kitaplıklarına geçiş yapın.
Eski kitaplıklar 30 Eylül 2026'dan sonra da kullanılabilir olsa da artık Microsoft'tan resmi destek ve güncelleştirmeler almayacaktır. Daha fazla bilgi için bkz . destek kullanımdan kaldırma duyurusu.