Edit

Share via


Service Bus quotas

This section lists basic quotas and throttling thresholds in Azure Service Bus messaging.

Messaging quotas

The following table lists quota information specific to Azure Service Bus messaging. For information about pricing and other quotas for Service Bus, see Service Bus pricing.

Common limits for all tiers

The following limits are common across all tiers.

Quota name Value Notes
Maximum number of namespaces per Azure subscription 1000 (default and maximum) This limit is based on the Microsoft.ServiceBus provider, not based on the tier. Therefore, it's the total number of namespaces across all tiers. Subsequent requests for additional namespaces are rejected.
Number of concurrent connections on a namespace Net Messaging: 1,000.

AMQP: 5,000.
Subsequent requests for additional connections are rejected. REST operations don't count toward concurrent TCP connections.
Number of concurrent receive requests on a queue, topic, or subscription entity 5,000 Subsequent receive requests are rejected. This quota applies to the combined number of concurrent receive operations across all subscriptions on a topic.
Maximum size of any messaging entity path: queue or topic 260 characters.  
Maximum size of any messaging entity name: namespace, subscription, or subscription rule 50 characters.  
Maximum size of a message ID 128  
Maximum size of a message session ID 128  
Message property size for a queue, topic, or subscription entity

Maximum message property size for each property is 32 KB.

Cumulative size of all properties can't exceed 64 KB. This limit applies to the entire header of the brokered message, which has both user properties and system properties, such as sequence number, label, and message ID.

Maximum number of header properties in property bag: byte/int.MaxValue.

The exception SerializationException is generated.
Number of SQL filters per topic 2,000 Subsequent requests for creation of additional filters on the topic are rejected, and the calling code receives an exception.
Number of correlation filters per topic 100,000 Subsequent requests for creation of additional filters on the topic are rejected, and the calling code receives an exception.
Size of SQL filters or actions Maximum length of filter condition string: 1,024 (1 K).

Maximum length of rule action string: 1,024 (1 K).

Maximum number of expressions per rule action: 32.
Subsequent requests for creation of additional filters are rejected, and the calling code receives an exception.
Number of shared access authorization rules per namespace, queue, or topic Maximum number of rules per entity type: 12.

Rules that are configured on a Service Bus namespace apply to all types: queues, topics.
Subsequent requests for creation of additional rules are rejected, and the calling code receives an exception.
Number of messages per transaction 100

For both Send() and SendAsync() operations.
Additional incoming messages are rejected, and the calling code receives an exception with the message: Can't send more than 100 messages in a single transaction.
Maximum number of messages deleted in DeleteMessagesAsync call 500 The DeleteMessagesAsync API supports deleting up to 500 messages per call. Requests exceeding this limit (e.g., 4000) will throw an ArgumentOutOfRangeException.
Maximum number of messages returned in PeekMessagesAsync call 250
Number of virtual network and IP filter rules 128  

Basic vs. standard vs. premium tiers

The following table shows limits that are different for Basic, Standard, and Premium tiers.

Quota name Basic Standard Premium Notes
Queue or topic size 1, 2, 3, 4 GB or 5 GB

80 GB, if partitioning is enabled.
1, 2, 3, 4 GB or 5 GB

80 GB, if partitioning is enabled.
80 GB Defined upon creation/updation of the queue or topic.

Total size of all entities in a namespace can't exceed the namespace size limit documented in the next row.

Subsequent incoming messages are rejected, and the calling code receives an exception.

Currently, a large message (size > 1 MB) sent to a queue is counted twice. And, a large message (size > 1 MB) sent to a topic is counted X + 1 times, where X is the number of subscriptions to the topic.

Namespace size 400 GB 400 GB 1 TB per messaging unit (MU). Total size of all entities in a namespace can't exceed this limit.
Number of topics or queues per namespace 10,000 10,000 1,000 per messaging unit (MU). Subsequent requests for creation of a new topic or queue on the namespace are rejected. As a result, if configured through the Azure portal, an error message is generated. If called from the management API, the calling code receives an exception.
Number of partitioned topics or queues per namespace 100 100 N/A Each partitioned queue or topic counts toward the quota of 1,000 entities per namespace.

Subsequent requests for creation of a new partitioned topic or queue in the namespace are rejected. As a result, if configured through the Azure portal, an error message is generated. If called from the management API, the exception QuotaExceededException is received by the calling code.

If you want to have more partitioned entities in a basic or a standard tier namespace, create additional namespaces.

Message size or batch size for a queue, topic, or subscription entity 256 KB 256 KB 100 MB on AMQP

1 MB for on HTTP and SBMP
The message size includes the size of properties (system and user) and the size of payload. The size of system properties varies depending on your scenario. Incoming messages that exceed these quotas are rejected, and the calling code receives an exception.
Number of subscriptions per topic 2,000 2,000 2,000 Subsequent requests for creating additional subscriptions for the topic are rejected. As a result, if configured through the portal, an error message is shown. If called from the management API, the calling code receives an exception.
Operations per second 1,000 1,000 N/A Premium doesn't have fixed limitations on the operations per second. The throughput varies depending on the number of MUs and the characteristics of the workload. For more information on how the workload impacts the throughput, and how to optimize this, see Best Practices for performance improvements using Service Bus Messaging.