インスタンスのサイズは、インスタンス用に予約される帯域幅のみを決定します (XS は 5 Mbpsです。詳細はこちらをご覧ください)。必要なことは、DefaultConnectionLimit を 2 以上に変更するだけです。
<system.net>
<connectionManagement>
<add address="*" maxconnection="12"/>
</connectionManagement>
</system.net>
Web アプリケーションでこれを許可する場合は、これを web.config に追加します。たとえば、インスタンスを開始する前にサービスを呼び出す場合は、WebRole.cs に次を追加します。
public override bool OnStart()
{
ServicePointManager.DefaultConnectionLimit = 12;
return base.OnStart();
}
リクエストがキューに入れられていても、Web サービスを非同期で呼び出すと、全体的なパフォーマンスが向上することに注意してください。これは非常に基本的な例です (単純な REST サービスを呼び出すと仮定すると、WCF クライアント プロキシは非同期要求をより適切にサポートします)。
<%@ Page Async="true" ... %>
public partial class AsyncPage : System.Web.UI.Page
{
private WebRequest req;
void Page_Load (object sender, EventArgs e)
{
AddOnPreRenderCompleteAsync (
new BeginEventHandler(BeginWebServiceCall),
new EndEventHandler (EndWebServiceCall)
);
}
IAsyncResult BeginWebServiceCall (object sender, EventArgs e,
AsyncCallback cb, object state)
{
req = WebRequest.Create("http://some.webs.service/rest/api");
return req.BeginGetResponse (cb, state);
}
void EndWebServiceCall (IAsyncResult ar)
{
using (var response = req.EndGetResponse(ar))
{
using var reader =
new StreamReader(response.GetResponseStream()))
{
var text = reader.ReadToEnd();
...
}
}
}
}