15
  1. 労働者プロセスのリサイクルとは正確には何ですか?
  2. 労働者のプロセスのリサイクル時に正確に何をしますか?
  3. ワーカープロセスはアプリケーションプールに常駐し、アプリケーションプールを介して構成できますか?
  4. そのアプリケーションプールは、ワーカープロセスをリサイクルする責任がありますか?またはIISはそれをリサイクルする責任がありますか?
  5. 労働者のプロセスをリサイクルするときに何が起こりますか?
  6. 強制的にリサイクルしないことの影響は何ですか?
4

3 に答える 3

24

IISワーカープロセスのリサイクルは、IISが生成した子プロセスを強制終了して着信要求を処理し、それらのクリーンコピーを開始するプロセスです。

IISが特定のアプリケーションプールでWebアプリケーションの要求を初めて取得すると、実際に作業を行うためのワーカープロセスが生成されます。このプロセスは、ASP.NETコード、ISAPIハンドラーなどからのセッション状態と静的データの維持などを行います。時間の経過とともに、IISが必要とする処理(アプリケーションコードのメモリリーク、未処理のリソースなど)で問題が発生する可能性があります。サーバーをシャットダウンせずにクリーンアップします。そのため、定期的にワーカープロセスに終了し、新しいプロセスを生成するように指示します。

リサイクル期間が近づくと、IISは死にかけているプロセスへの新しいサービス要求の送信を停止し、通常の処理をすべて終了できるようにします。事前に新しい交換プロセスを生成し、古いプロセスが終了するまでの間、そのプロセスに新しいリクエストの送信を開始します。古いプロセスに実行できることがなくなると、正常に終了します。

IISがプロセスの分離を実現する方法であるため、ワーカープロセスは特定のアプリケーションプールに分離されます。(これが、たとえば、単一のサーバー上で.NET Frameworkバージョンを混在させることができる理由です。各アプリプールは、他のアプリプールとは別に独自のロードされたフレームワークライブラリを取得します。)アプリプールは、クレデンシャルなど、ワーカープロセスに関するその他の事項を決定します。プロセスがシャットダウンされるまでの時間。

リサイクルをオフにする正当な理由は実際にはありませんが、すべてが適切に機能していれば、何も害はありません。誤動作するワーカープロセス内でコードを実行すると、問題が発生します。時間の経過とともに、わずかなメモリやリソースリークが発生し、それらをクリーンアップするためにアプリケーションプールをシャットダウンする必要があります。重複したリサイクルにより、IISはサービスを中断することなくそれを処理します。

于 2011-05-04T19:03:34.217 に答える
3

ワーカープロセスのリサイクルとは、asp .netワーカープロセス(aspnet_wp.exe)の再起動を意味します。それはさまざまな理由で行われます。次の記事では、物事をかなりきちんと説明しています。 http://technet.microsoft.com/en-us/library/cc759005(WS.10).aspx

それを通過してください。

于 2011-05-04T19:01:13.710 に答える
1

シナリオはさまざまですが、覚えておいてください。Webアプリがdb情報の初期インメモリキャッシュ(たとえば、巨大な初期キャッシュ)を実行する場合、新しく生成されたアプリプールへの最初のリクエストが完了するまでに時間がかかります。

于 2013-07-13T00:37:40.653 に答える