2012-04-21 7 views
6

Ich lerne gerade etwas über Windows Azure.ServicePointManager.DefaultConnectionLimit in der Worker-Rolle

Ich bin auf ein paar Proben suchen und in der OnStart Ereignis eines Arbeitnehmers Rolle sehe ich

ServicePointManager.DefaultConnectionLimit = 5;

Ich verstehe die Relevanz davon nicht.

In Ihrer Worker-Rolle können Sie die Anzahl der Instanzen so sicher festlegen, dies begrenzt die Anzahl der Einträge?

Entschuldigung, ich bin verwirrt.

Antwort

8

Wir haben ein ähnliches Problem in unserem Team. Standardmäßig ist die Standardanzahl von ausgehenden Verbindungen pro Domäne standardmäßig auf 2 festgelegt. Dies begrenzt die Anzahl der gleichzeitigen Verbindungen, die Sie haben können, und kann Probleme verursachen. Ich würde einen Blick auf den Blog werfen, der etwas genauer auf das Problem eingeht.

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

In Bezug auf die Anzahl der Instanzen eingestellt wird, während die Anzahl der Instanzen skalieren können, die innerhalb von Azure ausgeführt werden, wird einfach horizontale Skalierung auf einer einzigen Instanz nicht Engpässe adressieren.

3

Diese Einstellung gilt am ehesten für die Verwendung von Windows Azure-Speicher. Sie haben einen einzelnen Host-Endpunkt (z. B. .table.windows.core.net), der auf nur zwei Verbindungen beschränkt ist, wenn Sie diese Richtlinie nicht festlegen. Wenn Sie jedoch über den Windows Azure-Speicher wissen, wissen Sie, dass Sie durch die Parallelisierung von Anforderungen eine Skalierung erzielen. Sie wollen in diesem Fall viele gleichzeitige Verbindungen. In unserer Umgebung, wo wir extreme Partitionierung und viele IO-gebundene Operationen haben, haben wir diese Grenze um 100, IIRC.