ロードバランサーとのスティッキーセッションのマイナス面は何ですか?


13

IIS7マシンのWebファームがあり、非常にうまく機能しています。それらの前にF5 Big-IPハードウェアロードバランサーがあり、これも正常に動作しています:)

代替テキスト
(ソース:www.f5.com

現在ASP.NET State ServiceOutProc状態を処理するためにを使用しています。これは、あらゆるタイプのセッション情報を保持するWebファームがある場合に必要です。

F5 Big-IPでスティッキーセッションを行うことができ、したがってOutProcからInProcに戻すことができるかどうか疑問に思っていました。もしそうなら、これの欠点は何ですか?InProcとOutProcの欠点を知っているので、それを説明することを心配しないでください。F5 Big-IPを使用したスティッキーセッションの長所/短所にもっと興味があります

誰もが光や経験を流すことができますか?

回答:


15

2つの主な欠点があります。

  1. 負荷が均等に分散されていません。スティッキーセッションは固定されるため、名前が付けられます。最初のリクエストは均等に配信されますが、かなりの数のユーザーが他のユーザーよりも多くの時間を費やすことになります。これらすべてが最初に単一のサーバーに設定されている場合、そのサーバーの負荷ははるかに大きくなります。通常、これは実際には大きな影響を与えることはなく、クラスター内のサーバーを増やすことで緩和できます。

  2. プロキシはユーザーを単一のIPに統合し、そのすべてが単一のサーバーに送信されます。通常は害はありませんが、ここでも個々のサーバーの負荷を増やす以外に、プロキシはクラスタ内でも動作できます。このようなシステムからF5へのリクエストは、リクエストがプロキシクラスター内の別のプロキシサーバーから送信された場合、必ずしも同じサーバーに返されるとは限りません。

AOLはある時点でプロキシクラスターを使用していましたが、実際にはロードバランサーとスティッキーセッションを使用していました。ほとんどのロードバランサは、Cクラスのネット範囲に基づいたスティッキーセッションを提供します。F5の場合、Web要求Cookieにエンドノードを保存するCookieベースのスティッキーセッションを提供します。

Cookieベースのセッションは機能するはずですが、私はそれらにいくつかの問題があり、通常はIPベースのセッションを選択します。しかし、私は主に内部アプリに取り組んでいます-DMZマイレージは異なる場合があります。

述べられていることはすべて、スティッキーセッションとIn-Procセッションを使用してF5を実行しているサイトで大きな成功を収めました。

また、MemcachedやVelocityなどのメモリ分散キャッシュシステムの1つを調べて、SQLまたはout of procメモリサービスに保存されているセッションの代替手段を調べることもできます。複数のサーバーで実行できるため、インプロセスメモリの速度に近づきます。


CPUのほかに、IIS7を搭載したWindows 2008マシンで現在の接続や帯域幅をネイティブにチェックする方法はありますか?サーバーがヒット/ビジー状態になっているかどうかを確認しますか?基本的に、サーバーがブラストされないようにするためにどのようなメトリックを使用しますか?
Pure.Krome 2009

スティッキーIPとスティッキーCookieセッションの混合をかなり前に使用し、不均一な分布を見つけましたが、恐ろしくそうではありませんでした。AOLプロキシクラスタはIPクラスタリングにとって悪夢であり、例外をハードコーディングする必要がありました。
ericslaw

ネイティブのパフォーマンスカウンターには、アクティブなHTTP接続が表示されます。
Christopher_G_Lewis

@Christopher_G_Lewis F5でのCookieベースのセッションで発生した問題について少し詳しく説明していただけますか?
ユージンベレソフスキー


4

クリストファーからの優れた答えに加えて、スティッキーセッションは、冗長サーバーの2つの大きな利点(メンテナンスのために1つ以上を停止する機能、およびシステム障害に直面した場合の透過性)を失ったことを意味します。

スティッキーセッションは、アプリケーションアーキテクチャやプログラミングが不十分であることを示す強力な指標であると考えています。「すべての費用を避けて」が私のモットーです。


メンテナンスに関する優れた考え。サーバーからDRAINをスローしてから、クラスターから取り出します。DRAINは、現在のセッションが処理されているが、そのサーバーで新しいセッションが開始されていないことを意味します。
クリストファー

ありがたいことに、誰もすぐにメンテナンスを行う必要がなく、サーバーが突然停止することもありません(そのサーバーに接続されているすべてのセッションが突然役に立たなくなる-私は顧客がそれを愛するに違いない)。
ワンブル

F5自体で設定を行うことなく、サーバーからDRAINできますか?基本的に、F5(管理されたホスティングシナリオでは管理されています)へのアクセス権はありませんが、Webサーバーへのフルアクセス権はあります..ファイルまたは何かをWebサイトにドロップすることでDRAINできますか?
Pure.Krome 09

F5は、Webサイトのテキストファイルを介してサーバーのアップ/サーバーのダウン/ドレインを決定します。ファイルのコンテキストは「UP / DOWN / DRAIN」です。IISログを調べて、何を見ているかを判断します。F5がTCP / IPポートでSYN / ACKを実行しているだけの場合があることに注意してください。この場合、ホストにF5の設定を変更してもらう必要があります。
Christopher_G_Lewis
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.