オンプレミス展開の場合、ASP.NET セッション状態は3つの組み込みストレージオプション(InProc、StateServer、SqlServer)と4つ目の「カスタム」オプションを提供します。最初の2つの組み込みオプション(InProc StateServer)にはスケーラビリティの問題があり、SqlServerオプションにはパフォーマンスとスケーラビリティの両方の問題があります。
はるかに優れた戦略は、「カスタム」オプションとプラグインを使用することです NCache あなたのように ASP.NETセッション状態プロバイダー. NCache は、.NET用の非常に高速でスケーラブルなオープンソース分散キャッシュです。 実行時にキャッシュサーバーを追加し、線形に拡張できるようにすることで、極端なトランザクション負荷を処理します。 NCache インテリジェントな キャッシュレプリケーション そのため、Web サーバーまたはキャッシュ サーバーがダウンした場合でも、ASP.NET セッション状態は失われません。
実装 NCache セッション状態プロバイダー(SSP)はコードの変更を必要としません。以下の手順に従うだけで済みます。
設定の詳細については、 ASP.NETセッション状態プロバイダー の NCache. 使用することで得られるメリットは以下のとおりです。 NCache ASP.NETセッション状態プロバイダーとして:
NCache 複数のリージョン(データセンター)で実行されるアプリケーションのASP.NETセッション状態を管理し、それらのリージョン間でセッションの一貫性を維持するための2つの方法を提供します。その方法は次のとおりです。
ASP.NETセッション状態のWANレプリケーション: NCache 提供 ブリッジトポロジ ASP.NETセッション状態ストア(分散キャッシュ)全体を別の地域(データセンター)に複製できるようにします。 WANこれにより、セッションが常に複数のリージョン(データセンター)に存在することが保証されます。アクティブ/パッシブ(災害復旧用)またはアクティブ/アクティブモードで使用できます。アクティブ/アクティブモードでは、複数のリージョン(データセンター)間でトラフィックの負荷分散も可能です。これらはすべて設定変更によって実行されます。
マルチリージョンASP.NETセッション状態: 帯域幅の消費コストを考慮してASP.NETセッション状態をWAN経由で複製したくない場合は、 マルチサイトASP.NETセッション状態 の特徴 NCacheこの場合、ASP.NETセッション状態はサイト間で複製されず、作成場所に保持されます。ただし、トラフィックをあるリージョン(データセンター)から別のリージョン(データセンター)に移動すると、ASP.NETセッション状態もそれとともに移動します。これにより、2つ以上のアクティブなリージョン(データセンター)を持つことができ、各リージョンはトラフィックの大部分をローカルに保ちながら、必要に応じて時折別のリージョンにオーバーフローさせることができます。
また、ユーザーのセッションは他のデータセンターからアクセスできるため、ユーザーに中断を与えることなく 1 つのデータセンターを停止することもできます。
その NCache ASP.NETセッション状態プロバイダは、すべての標準を実装しています。 ASP.NETセッション状態プロバイダー 機能。さらに、アプリケーション内の複雑な状況に対応するためのさまざまな高度な機能も提供します。
INSTALL_DIR\NCache\log-files\SessionStoreProvider フォルダを指定して enableLogs = "true"。 次のように指定して、Windowsイベントログへのエラーのログを有効にすることもできます。 writeExceptionsToEventLog = "true".標準セッションロック: ASP.NETの標準的なセッションロック動作では、セッションがロックされている場合、そのセッションに対する別のリクエストは90秒間(設定可能)待機し、終了時にセッションを強制的にロック解除します。このオプションは次のように指定できます。
enableSessionLocking = "true" sessionLockingRetry = "-1" emptySessionWhenLocked = "false"
強化されたセッションロック: トラフィック量の多いASP.NETアプリケーションで、ロボットがデータを取得し、数百、数千ものリクエストに同じセッションIDを同時に使用する可能性がある場合、90秒も待つと利用可能なソケットがすべて占有されてしまうため、標準のセッションロックオプションを使用する余裕はありません。代わりに、リクエストを迅速に返して失敗を通知する必要があります。これは次のように指定できます。
enableSessionLocking = "true" sessionLockingRetry = "5" emptySessionWhenLocked = "false"
これにより、0.5 秒間隔で 5 回の再試行が行われ、失敗を示す空のセッションが返されます。
©著作権 Alachisoft 2002 - . All rights reserved. NCache はダイヤテック株式会社の登録商標です。