Есть ли способ узнать, достиг ли сетевой адаптер виртуальной машины Windows Azure назначенного предела пропускной способности?


Виртуальные машины Windows Azure имеют ограничения пропускной способности. ExtraSmall имеет 5 Мбит / с, в то время как другие находятся в кратных 100 Мбит / с.

У меня есть рабочая роль, которая удаляет задания из очереди. Задания имеют низкие потребности процессора, но высокие потребности сети, такие как получение материалов из удаленного веб-сервиса и запись в хранилище таблиц. Мне нужен способ ограничить мой код от получения большего количества заданий из очереди, если ограничение 5 Мбит / с (или 90% от него) в настоящее время используется.

Из монитора производительности Windows, "Network Интерфейс (*)длина очереди вывода " постоянно равна нулю.

Каковы мои варианты? Любое направление будет высоко оценено.

1 2

1 ответ:

Я бы запросил встроенные счетчики производительности внутри вашего кода и использовал результат для отступления. Если метрика "сеть в" не подходит для вас, вы всегда можете создать пользовательский счетчик производительности. здесь - ссылка на страницу на WindowsAzure.com о том, как запрашивать счетчики и как создавать пользовательские счетчики.

Я тоже боролся с этим: \Network Interface (*)\Output Queue Length" всегда равен 0, хотя это встроенный счетчик производительности. Я слежу за тобой. "Сеть В" и установить оповещения на портале.

Эмпирическое правило в Azure - 100 Мбит / с на ядро, и поскольку extra small использует "общее ядро", вы еще более ограничены. С другой стороны, сверхмалые виртуальные машины очень дешевы в эксплуатации!