- 労働者プロセスのリサイクルとは正確には何ですか?
- 労働者のプロセスのリサイクル時に正確に何をしますか?
- ワーカープロセスはアプリケーションプールに常駐し、アプリケーションプールを介して構成できますか?
- そのアプリケーションプールは、ワーカープロセスをリサイクルする責任がありますか?またはIISはそれをリサイクルする責任がありますか?
- 労働者のプロセスをリサイクルするときに何が起こりますか?
- 強制的にリサイクルしないことの影響は何ですか?
3 に答える
IISワーカープロセスのリサイクルは、IISが生成した子プロセスを強制終了して着信要求を処理し、それらのクリーンコピーを開始するプロセスです。
IISが特定のアプリケーションプールでWebアプリケーションの要求を初めて取得すると、実際に作業を行うためのワーカープロセスが生成されます。このプロセスは、ASP.NETコード、ISAPIハンドラーなどからのセッション状態と静的データの維持などを行います。時間の経過とともに、IISが必要とする処理(アプリケーションコードのメモリリーク、未処理のリソースなど)で問題が発生する可能性があります。サーバーをシャットダウンせずにクリーンアップします。そのため、定期的にワーカープロセスに終了し、新しいプロセスを生成するように指示します。
リサイクル期間が近づくと、IISは死にかけているプロセスへの新しいサービス要求の送信を停止し、通常の処理をすべて終了できるようにします。事前に新しい交換プロセスを生成し、古いプロセスが終了するまでの間、そのプロセスに新しいリクエストの送信を開始します。古いプロセスに実行できることがなくなると、正常に終了します。
IISがプロセスの分離を実現する方法であるため、ワーカープロセスは特定のアプリケーションプールに分離されます。(これが、たとえば、単一のサーバー上で.NET Frameworkバージョンを混在させることができる理由です。各アプリプールは、他のアプリプールとは別に独自のロードされたフレームワークライブラリを取得します。)アプリプールは、クレデンシャルなど、ワーカープロセスに関するその他の事項を決定します。プロセスがシャットダウンされるまでの時間。
リサイクルをオフにする正当な理由は実際にはありませんが、すべてが適切に機能していれば、何も害はありません。誤動作するワーカープロセス内でコードを実行すると、問題が発生します。時間の経過とともに、わずかなメモリやリソースリークが発生し、それらをクリーンアップするためにアプリケーションプールをシャットダウンする必要があります。重複したリサイクルにより、IISはサービスを中断することなくそれを処理します。
ワーカープロセスのリサイクルとは、asp .netワーカープロセス(aspnet_wp.exe)の再起動を意味します。それはさまざまな理由で行われます。次の記事では、物事をかなりきちんと説明しています。 http://technet.microsoft.com/en-us/library/cc759005(WS.10).aspx
それを通過してください。
シナリオはさまざまですが、覚えておいてください。Webアプリがdb情報の初期インメモリキャッシュ(たとえば、巨大な初期キャッシュ)を実行する場合、新しく生成されたアプリプールへの最初のリクエストが完了するまでに時間がかかります。