EventHub have Server Busy Errors time to time

Yuanbo Lin 60 Reputation points Microsoft Employee
2026-04-15T07:49:29.78+00:00

Eventhub name space: data-ehns-edp-prod-prna02

As you can see, in the server busy errors happens, the incoming bytes is not very high, so we want to know what happens in that time. And what's the criteria to trigger that server busy error.

image.png

image.png

Azure Event Hubs

Answer accepted by question author
SAI JAGADEESH KUDIPUDI 3,645 Reputation points Microsoft External Staff Moderator
2026-06-10T17:06:28.71+00:00

Hi @Yuanbo Lin ,
Thank you for your patience

The PG (Product Group) team analyzed the issue in detail and identified that the intermittent Server Busy Errors (Error Code 50011) were caused by namespace memory throttling due to uneven memory distribution across backend nodes. This occurred even though overall throughput levels were normal.

To mitigate the issue, the PG team scaled out the Event Hub cluster from 55 to 70 nodes, which improved the memory baseline across nodes and stabilized the environment. After scaling, no broker movements were observed, and the error occurrences stopped.

Currently, no Server Busy Errors have been seen in the last 24 hours, confirming that the issue is mitigated.

The issue was caused by memory pressure on certain backend nodes and has been successfully mitigated by increasing cluster capacity, ensuring stable service now.

Hope this helps. If you have any follow-up questions, please let me know. I would be happy to help.

Was this answer helpful?

1 person found this answer helpful.
0 comments No comments

1 additional answer

Sort by: Oldest
  1. AI answer

    2026-04-15T07:49:54.1266667+00:00

    Server busy errors in Azure Event Hubs are throttling signals that are raised when the service detects that either a partition or the namespace is exceeding its provisioned throughput or certain operational limits, even if the aggregated Incoming Bytes metric does not look high.

    The criteria are as follows:

    1. Partition-level throughput hot spots (error code 50002)
      • If traffic is unevenly distributed and one partition hits its local throughput-unit (TU) limit, Event Hubs returns a ServerBusyException even though the overall namespace Incoming Bytes may appear moderate.
      • Resolution is to revise the partition distribution strategy or send without a partition key so that Event Hubs can balance load across partitions.
    2. Namespace-level throughput-unit limits (error code 50002)
      • Each TU provides up to 1 MB/s ingress (and ≤1000 ingress requests/s) and 2 MB/s egress (and ≤4096 egress events/s) across the namespace.
      • When real-time ingress/egress or request rate exceeds TUs × limits, Event Hubs throttles and emits server busy errors.
      • The portal’s metrics are 1‑minute aggregates; instantaneous spikes above the TU limits can trigger throttling even if the 1‑minute Incoming Bytes sum looks low.
    3. Excessive management/metadata calls (error code 50008)
      • If the container running the namespace is CPU constrained, or if there are too many calls to operations like GetRuntimeInformation/GetRuntimeInfo, Event Hubs can return ServerBusyException with error code 50008.
      • Event Hubs supports up to 50 GetRuntimeInfo calls per second per consumer group; exceeding this can cause short bursts of server busy errors.
    4. How to interpret and investigate the metric
      • Use the Throughput and Requests tabs on the namespace Overview → Show metrics blade.
      • For the time ranges where Server Busy Errors spike, check:
        • Incoming Bytes / Outgoing Bytes peaks and divide by 60 to approximate bytes per second.
        • Incoming Requests at peak and compare to TU limits (1000 ingress requests/s per TU).
      • If peak values exceed the TU-based limits, increase TUs on the Scale page or enable Auto-inflate so the namespace can scale up automatically.
    5. Client behavior and retries
      • For AMQP/Event Hubs clients, ServerBusyException is a transient error that should be handled with retries and backoff. For example, the Java ServerBusyException documentation recommends waiting at least 4 seconds before retrying operations for that entity.

    In summary, server busy errors are triggered when either a single partition or the namespace as a whole exceeds throughput or operational limits (bytes/s, requests/s, or certain management-call limits). Short spikes and partition hot spots can cause these errors even when the aggregated Incoming Bytes metric appears low.


    References:

    AI-generated content may be incorrect. Read our transparency notes for more information.

    Was this answer helpful?

Your answer

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