2012-04-21 2 views
6

Просто узнайте о Windows Azure на данный момент.ServicePointManager.DefaultConnectionLimit в роли рабочего

Я смотрю на несколько образцов и в OnStart Событие роли работника я вижу

ServicePointManager.DefaultConnectionLimit = 5;

Я не понимаю значимости этого.

В вашей рабочей роли вы можете установить количество экземпляров так, чтобы это ограничивало количество записей?

Извините, я смущен.

ответ

8

Мы столкнулись с проблемой, подобной этой нашей команде. По умолчанию количество исходящих подключений по умолчанию для каждого домена по умолчанию установлено равным 2. Это ограничивает количество одновременных подключений, которые вы можете иметь, и может вызвать проблемы с выполнением. Я бы посмотрел на блог ниже, в котором подробно описывается проблема.

http://blogs.msdn.com/b/jpsanders/archive/2009/05/20/understanding-maxservicepointidletime-and-defaultconnectionlimit.aspx

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

3

Этот параметр наиболее применим к использованию хранилища Windows Azure. У вас есть конечная точка узла (например, .table.windows.core.net), которая будет ограничена только двумя соединениями, если вы не установите эту политику. Однако, если вы знаете о хранилище Windows Azure, то знаете, что вы достигаете масштабирования путем распараллеливания запросов. В этом случае вы хотите много одновременных соединений. В нашей среде, где мы имеем экстремальное разбиение и множество операций с привязкой IO, мы имеем этот предел около 100, IIRC.