ASP.NET InProc セッションによる IIS サーバーの負荷分散

ASP.NET InProc セッションによる IIS サーバーの負荷分散

InProc セッションを使用して ASP.NET アプリケーションを搭載した Windows 2003 サーバーで IIS 6.0 負荷分散を構成した人はいますか。これはどのように実現できますか?

答え1

Windows Server 2003 の一部として出荷される NLB クラスタリングを使用している場合は、アフィニティ設定を探します。これを「シングル アフィニティ」に設定すると、1 つの IP アドレスからの通信は常に同じサーバーにルーティングされ、クライアントは InProc セッション状態にアクセスできるようになります。設定方法については、次のドキュメントを参照してください。http://technet.microsoft.com/en-us/library/bb734858.aspx

答え2

負荷分散デバイスを使用せずに、InProc セッションで IIS 6 サーバーを負荷分散したことはありません。SQL Server やよりパフォーマンスの高いカスタム キャッシュなどの何らかの分散キャッシュを使用できない場合は、負荷分散デバイスで何らかの「スティッキー セッション」ルーティングを設定する必要があるでしょう。これにより、Web サイトをファーム化できますが、各ユーザーは、セッションの期間中、ファーム内の同じ特定のサーバーに繰り返しルーティングされます。これにより、InProc セッションを使用できますが、完全に理想的な負荷分散が得られないという比較的小さなコストがかかります。

注: この種の質問に対するより良い回答は、StackOverflow の姉妹サイト www.ServerFault.com で得られる可能性があります。

答え3

バランスの取り方次第で達成できるかもしれません。

多くのバランサーでは、スティック セッションをどこに送信すべきかを決定する方法として Cookie を指定できますが、これは使用しているハードウェア/ソフトウェア バランサーに大きく依存します。これが、あなたにとって機能する唯一の方法です。

答え4

状態管理を ASP.NET 状態サービスまたは SQL Server 状態データベースに統合できない場合の最も簡単な方法は、Windows の NLB を使用して Web ファームを構成することです。

http://www.west-wind.com/presentations/loadbalancing/networkloadbalancingwindows2003.asp

関連情報