Azure service bus Pricing and performance based on Msg/Sec

sagar 20 Reputation points
2023-08-28T08:33:27.49+00:00

Hello team,

I am trying to figure out the Pricing for Azure Service bus premium tier.

Pricing for Azure service bus Premium tier is on Hourly basis and performance on basis of CPU, Memory, etc.

  1. I need to know how my application would perform, if it generate and consume around 3000 messages per sec (for Test env) and 10000 messages per sec (for Prod env).
  2. If I configure service bus with 1MU (i.e without auto scaling), then will there be any loss of messages if CPU/Memory goes high?
  3. Does CPU utilization based on Number of ingress egress messages?

Thanks in advance..

Azure Service Bus
Azure Service Bus
An Azure service that provides cloud messaging as a service and hybrid integration.
700 questions
{count} votes

1 answer

Sort by: Most helpful
  1. JananiRamesh-MSFT 29,261 Reputation points
    2023-08-28T15:30:54.34+00:00

    Hi sagar Thanks for reaching out. The performance of Azure Service Bus Premium tier depends on several factors, including the number of messages being processed, the size of the messages, and the configuration of your Service Bus namespace.

    If your application generates and consumes around 3000 messages per second in a test environment and 10000 messages per second in a production environment, you may need to scale up your Service Bus namespace to handle the increased workload. You can use the Azure portal or Azure CLI to scale up your Service Bus namespace by increasing the number of messaging units (MUs1).

    https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-premium-messaging#how-many-messaging-units-are-needed

    If you configure your Service Bus namespace with 1 MU and do not enable auto scaling, the high usage of Memory/CPU will not cause message lost. However, incoming messages will be throttled you can reduce the possibility of getting throttled by scaling up the number of messaging units allocated to your namespace in the event (or anticipation) of a spike in the workload. please refer : https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-throttling#how-does-throttling-work-in-service-bus-premium

    https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-throttling#does-throttling-result-in-data-loss

    https://learn.microsoft.com/en-us/azure/architecture/patterns/throttling#solution

    The CPU utilization of your Service Bus namespace is based on the number of messages being processed (number of messages that are being sent, received, or processed by a Service Bus entity), as well as other factors such as the size of the messages and the configuration of your namespace.

    https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-premium-messaging#premium-messaging-resource-usage

    Hope this helps! Let me know in case of further queries, I would be happy to assist you.

    Please "upvote/accept" if the answer is helpful so that it can help others in the community.

    1 person found this answer helpful.

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.