Как получить подробную информацию о количестве получателей, созданных из MessagingFactory Azure

Я видел несколько статей, как показано ниже, в которых предлагалось вычислить PrefetchCount.

При использовании срока блокировки по умолчанию, равного 60 секундам, хорошее значение для SubscriptionClient.PrefetchCount в 20 раз превышает максимальную скорость обработки всех получателей фабрики. Например, фабрика создает 3 получателя, каждый из которых может обрабатывать до 10 сообщений в секунду. Количество предварительной выборки не должно превышать 20 * 3 * 10 = 600.

Но до сих пор я понятия не имею о следующих вещах,

  1. как получить счетчик получателей, созданный на заводе?
  2. как узнать количество сообщений, обработанных Получателем?

Заранее спасибо.


person Mariraj R    schedule 22.06.2018    source источник


Ответы (1)


Получатели создаются в вашем коде, поэтому вы должны знать, сколько их у вас есть.

Хотя на самом деле это не имеет значения. Все, что вам нужно знать, это сколько всего сообщений вы можете обработать за секунду (на заводе). Вы можете добавить для этого настраиваемый счетчик производительности или запустить тест только с одной фабрикой и просмотреть статистику Azure Monitor на портале.

Если вы вызываете ReceiveBatch явно, не забудьте установить PrefetchCount на значение, превышающее размер пакета. Насколько выше - немного зависит от вашего тайминга, но цель состоит в том, чтобы при любом обращении к ReceiveBatch всегда был доступен предварительно выбранный пакет.

Наконец, я должен предположить, что эта рекомендация является приблизительной и вам не нужно точно следовать формуле. Поиграйте немного с PrefetchCount и определите, какое значение дает вам максимальную производительность.

person Mikhail Shilkov    schedule 22.06.2018
comment
и у меня есть еще одно сомнение, должно ли PrefetchCount совпадать с количеством ReceiverBatch? пожалуйста, дайте свой совет по этому поводу. - person Mariraj R; 22.06.2018
comment
@MarirajR Расширенный мой ответ - person Mikhail Shilkov; 22.06.2018
comment
Спасибо @Mikhail. - person Mariraj R; 22.06.2018