Невозможно превзойти 1,2 МБ / с выхода на процесс независимо от TU

Я пишу в концентраторы событий из основного приложения.Net в C#. Рассматриваемый EH максимально подходит для тестирования - 32 раздела и 20 TU. Проблема в том, что я не могу выйти за пределы 1,2 МБ / с из одного процесса /EventHubClient. Я пробовал следующие методы:

  1. Отдельные неразделенные посылки
  2. Несколько неразделенных отправок с использованием SendAsync(IEnum)
  3. Несколько неразделенных отправок с использованием CreateBatches
  4. Несколько разделенных отправок с использованием отдельных CreateBatches
  5. Несколько разделенных отправок с использованием PartitionedSenders

В настоящее время я использую последний метод, разбивая свои данные на разделы, чтобы выбрать правильного отправителя, а затем разбиваясь на группы сообщений<= 1 МБ, чтобы создать задачу для каждого (раздел, чанк), и выполняю Task.WhenAll, чтобы выполнить все отправляет. Кажется, это лучшее, что я могу сделать, но, тем не менее, я получаю только около 1,2 МБ / с. Нужно ли мне также создавать несколько EventHubClients со своими собственными PartitionSenders, чтобы выводить данные достаточно быстро? (Заметьте, что меня не душат и ошибок нет - выход кажется ограниченным.)

0 ответов

Другие вопросы по тегам