2015-10-26 4 views
1

Я написал небольшую утилиту, которая использует память Azure blob для подталкивания некоторых файлов для дополнительной резервной копии (~ 100 ГБ). До сих пор он работает очень хорошо, однако, поскольку он сидит в области колокейшн, мое использование полосы пропускания может достигать 190 МБ/с +, что является законопроектом, который я бы скорее не заплатил. Учитывая это, у меня есть два вопроса:C# Bandwidth Throttling w/Azure

  1. Исходящий трафик на сервере с несколькими IP-адресами использует первый IP-адрес, сконфигурированный как «основной». Я знаю, что на C# я могу получить список сетевых адаптеров и изменить свойства, но можно ли сообщить приложению, что для этого трафика необходимо использовать определенный IP-адрес (вместо стандартного) для исходящих соединений? Мы могли бы использовать это, чтобы фильтровать все, что выходит из этого IP-адреса, независимо от места назначения, и только это приложение будет использовать этот адрес.
  2. Если нет, можно ли настроить приложение для отправки всего трафика на отдельный адаптер, который будет иметь один IP-адрес, поэтому мы могли бы фильтровать исходящие на нашем уровне маршрутизатора, чтобы дросселировать этот трафик?

Альтернативно (если мы атакуем это с неправильным углом), возможно ли ограничить передачу Azure максимальным распределением пропускной способности в некоторой емкости? Это все, что мне действительно нужно, поскольку любой другой трафик должен иметь возможность использовать максимум, который он может (что означает, что QoS не применяется - здесь нет конкуренции, слишком много исходящих вообще).

ответ

0

Для нужд резервного копирования вы уже оценили RA-GRS, он обеспечивает встроенную репликацию данных во вторичное местоположение с доступом только для чтения по данным. https://azure.microsoft.com/en-us/documentation/articles/storage-redundancy/

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

Кстати, есть одна вещь, которая могла бы решить вашу проблему с издержками - это установить лимит расходов для вашей подписки на Azure, но это зависит от типа вашей подписки. https://azure.microsoft.com/en-us/pricing/spending-limits/

+0

Я уже использую RA-GRS, и лимиты расходов не будут входить в игру, так как это входящие данные Azure (и они платят только за исходящий). Проблема, с которой я сталкиваюсь, - это мои счета за объекты colo при использовании 95-го процентиля, но на самом деле у них нет кепки - я могу использовать все, что захочу. Поскольку Azure имеет массовые соединения, мое использование пропускной способности может идти к северу от 160 МБ/с легко, и осталось работать, я получаю огромный счет от поставщика коло. – RubyHaus