High sending bandwidth in EventHubs that occur in MessagingException / TimeoutException / Server failed to process request errors

We experience many exceptions sending events to EventHubs during peak traffic:

"Failed to send event to EventHub Exception: Microsoft.ServiceBus.Messaging.MessagingException: the server could not process the request, retry the operation. If the problem persists, contact the support desk administrator and report the tracking I would." or "Failed to send event to EventHub. Exception: System.TimeoutException: operation did not complete within the allotted time"

Here you can see this:

Azure Portal EH

, , , , 400K / ( ~ 270 /). . .

EH 32 , 7 5 . OperationTimeout 5 , RetryPolicy .

-, ? EH.

+4
2

. , . , .

1) : ( TU) . Pls. , TU - EventHub- . 5 TU 5 - 5 .

2) EventHub: EventHub 5 TU 32 - 5 TU. 5TU 1 "" 31 - . , - 1 TU. . EventHubs 3 - :

  1. EventHubClient.Send(EventDataWithoutPartitionKey) → API - eventhub . EventHubs . - , . EventHubs.
  2. EventHubClient.Send(EventDataWithPartitionKey) → API EventHubs - partitionKey . PartitionKey EventData ( Microsoft Proprietary, Shared). , , .
  3. EventHubSender.Send(EventData) → . , .

- EventHubClient.GetPartitionRuntimeInfo Api, , . / BeginSequenceNumber LastEnqueuedSequenceNumber .

3) , - ( ) - API SendBatch. 1 TU . 1000 / 1 / - , - . - , 100 , 1000 / ( TU) - 1000 /. , , API SendBatch - , , 10 100- - 1000 / 100 API ( ). , . , - 256 ( BatchSize, API SendBatch).

, : - 32 5 TU - .

Event Hubs...

+5

PK , !. GUID . , . , - .

+1

Source: https://habr.com/ru/post/1615489/


All Articles