18

RDS サーバー上に NGEN 化された Windows2008R2 RemoteAPP .NET 4.5 アプリケーションがあります。3 ホストの NLB クラスターで 300 人の同時ユーザー。

アプリケーションは活発に開発されており、RemoteAPP で展開されたアセンブリを頻繁に更新する (つまり、新しいアセンブリに置き換える) 必要があります。

現在、これを行う方法は次のとおりです。

  1. ユーザーが接続しているRemoteAPPサーバーで変更するファイルの名前を変更します(OSは、ファイルがロードされている場合、ファイルの上書きを許可しません)。
  2. 古いファイルの代わりに新しいファイルを書き込み、
  3. NGEN は新しいアセンブリをインストールします (最初に古いアセンブリをアンインストールせずに!)、
  4. アプリのバージョンが変更され、再起動する必要があることを (アプリ自体を介して) ユーザーに通知します。
  5. ユーザーが自分のペースでアプリを再起動できるようにします (アプリを同時に再起動すると、ディスクと CPU の負荷が増加し、サーバーのパフォーマンスが低下します)。クラスタ内のすべてのホストについても同様です。

この後、サーバーは時折、Microsoft-Windows-Kernel-Power EventID 41 の重大なエラーでブルー スクリーン クラッシュすることがありました。

したがって、質問: 古いアセンブリにアクセスするプロセスを終了する必要なく、RemoteAPP アプリケーションを更新し、新しいアセンブリを NGEN する推奨される方法は何ですか (つまり、ユーザーが好きなときに続行して再起動できるようにする)。

ありがとうございました。

4

2 に答える 2

1

新しい「IIS 7.5 用アプリケーション初期化モジュール」を使用して Web アプリを高速化することをお勧めします。「アプリケーション初期化」は、ngen の代わりに IIS 8 に組み込まれています。

Microsoft の Web サイトの主張: IIS 7.5 の IIS アプリケーション初期化により、Web サイト管理者は、最初の要求が到着する前に Web アプリケーションをロードすることで、Web サイトの応答性を向上させることができます。

参照: http://weblog.west-wind.com/posts/2013/Oct/02/Use-IIS-Application-Initialization-for-keeping-ASPNET-Apps-alive

于 2014-04-24T22:34:50.930 に答える