Home / Data Platform / Streaming & CDC

Data PlatformTroubleshootingIntermediate

Azure Event Hubs ServerBusy and throttling: throughput units and partitions

Diagnose ServerBusy and quota-exceeded errors in Event Hubs, size throughput or processing units, fix partition hot spots and consumer lag.

Deepak Bhardwaj2 min read

Applies toAzure Event Hubs Standard, Premium and Dedicated tiers; Kafka endpoint

The errors

Error Meaning
ServerBusyException / The request was terminated because the entity is being throttled. Error code: 50002 Ingress or egress above the namespace's capacity
QuotaExceededException Too many consumer groups, connections or receivers per partition
Kafka clients: THROTTLING_QUOTA_EXCEEDED or large throttle_time_ms Same throttling via the Kafka endpoint

1. Check the metrics

In the namespace Metrics, chart over the incident window: Throttled Requests, Incoming Bytes, Outgoing Bytes, Incoming Messages, with a 1-minute grain.

Standard tier limits per throughput unit (TU): about 1 MB/s or 1,000 events/s ingress, and 2 MB/s egress.

az eventhubs namespace show -g rg-stream -n evh-prod --query "{sku:sku.name, tu:sku.capacity, autoInflate:isAutoInflateEnabled, max:maximumThroughputUnits}"

2. Add capacity

# Standard: more TUs, or enable auto-inflate
az eventhubs namespace update -g rg-stream -n evh-prod --capacity 8
az eventhubs namespace update -g rg-stream -n evh-prod --enable-auto-inflate true --maximum-throughput-units 20

Note

Auto-inflate scales up only. It never scales back down, so check the TU count after a peak, or you keep paying for it.

Premium and Dedicated use processing units or capacity units, with much higher per-unit throughput.

3. Partition hot spots

Each partition has its own throughput ceiling (around 1 MB/s on Standard). If all events use the same partition key (for example, a constant tenant ID), one partition throttles while others idle.

  • Use a high-cardinality partition key, or no key (round robin), when ordering isn't needed.
  • The partition count can't be reduced, and on Standard can't be increased after creation. Plan it upfront (Premium and Dedicated allow increases).

4. Producer settings

  • Batch events (EventDataBatch). Many tiny sends waste capacity and hit the events-per-second limit.
  • Keep the SDK retry policy with exponential backoff; it handles short throttling bursts.
  • Reuse producer clients. Don't create a connection per message.

5. Consumer lag

Lag isn't throttling, but often appears with it:

  • Only one active reader per partition per consumer group with the processor client. More instances than partitions sit idle.
  • Checkpoint every N events or seconds, not every event (checkpoint storage becomes the bottleneck).
  • Give each downstream application its own consumer group.

Tip

Alert on Throttled Requests > 0 for 5 minutes and on consumer lag. Throttling for a few seconds is normal; throttling for minutes means you need more units or a better key.