Windows system >> Windowsの知識 >  >> コンピュータソフトウェアのチュートリアル >> サーバー技術 >> サーバーについて >> IIS6.0アプリケーションプールのリサイクルと作業プロセス

IIS6.0アプリケーションプールのリサイクルと作業プロセス

  
長時間実行していると、会社のWebサイトプログラムが遅くなり、Webサイトを再起動した後の速度が明らかに速くなっています。あなたは定期的にリソースを解放するためにウェブサイトを再起動する必要があります。しかし手動による再起動は必ずしも問題を解決するわけではありません。 IIS 6.0のアプリケーションプール自動リサイクル機能は、この問題を解決することができます。アプリケーションプールは、1つ以上のアプリケーションを1つ以上のワーカープロセスコレクションにリンクさせる構成です。アプリケーションプール内のアプリケーションはワーカープロセス境界によって他のアプリケーションから分離されているため、1つのアプリケーションプール内のアプリケーションは他のアプリケーションプール内のアプリケーションで発生する問題の影響を受けません。

Webアプリケーション用のアプリケーションプールを設定するには、次の手順が必要です。1)アプリケーションプールを作成し、「application pool」、「new /application pool」の順に右クリックし、KefuAppPoolという名前を付けます。アプリケーションプールを指定し、Webサイト仮想ディレクトリのプロパティ「アプリケーションの設定」の「アプリケーションプール(N)」でKefuAppPoolを選択します。3)アプリケーションプールの自動収集方法を設定します。 http://www.45it.com a。実行時間によると、システムのデフォルトは1740分で、29時間ですが、これはあまりうまく制御できません。使用しないことをお勧めします。

b。リクエスト数これは特定の状況に依存します。リクエストが10個しかないが、5個がリソースを比較するページ(おそらく統計年次報告書)をリクエストしている場合、プロセスは中断され、1000個のリクエストがある場合は、実行されません。リソースを占有するページを比較すると、現時点ではプロセスは間違いなく正常なので、要求数に基づく決定は必ずしも実際のニーズを満たすものではありません。

c。予定時間
これは実際にはとても良いことですが、リサイクルされるのは何時ですか?通常、私たちは午前2時か3時に設定されています、この時間はリサイクルのために必要ですが、それは高いメモリ使用量の出現にはあまり適していません。

d。メモリ(仮想メモリまたは使用メモリ)
これはメモリの問題によって引き起こされるプロセスには本当に適していますが、大きな値を設定することは非常に重要な問題です。この値は小さすぎてはいけません、そうでなければ、訪問数がこの値よりはるかに多い場合は自動的に再利用されます。プロセスの実際の占有率を観察し、決定を下すようにしてください。
以下は、ワークプロセスリサイクルアプリケーションプールの理解に焦点を当てています。デフォルトでは、WWWサービスは「重複」を確立します。つまり、新しいワーカープロセスが開始されるまでワーカープロセスの実行を継続して終了します。重複する再生シナリオでは、リサイクルされるプロセスは要求を処理し続けますが、WWWサービスは代替ワーカープロセスを作成します。古いワーカープロセスを停止する前に新しいワーカープロセスを開始してから、新しいプロセスに要求を送信します。この設計では、古いプロセスがHTTP.sysと通信してシャットダウンされる前に要求を処理するため、サービスの中断を防ぐことができます。オーバーラップまたは開始できるクローズタイムアウト値は構成可能なので、ワーカープロセスがまだ要求を処理している間にプロセスを終了できます(制限時間内に要求を処理しなかった場合)。
注:WWWサービスがワーカープロセスをリサイクルするとき、既存のTCP /IP接続を切断しません。 HTTPプロトコルスタック(HTTP.sys)は、TCP /IP接続を確立して維持します。

は「のW3wp.exe」プロセスである「業務プロセス」によって管理される各アプリケーションプールをIIS。アプリケーションプールで複数のアプリケーションが実行されている場合は、複数のw3wp.exeが表示されます。次の図に示すように、タスクマネージャには、アプリケーションが実行されている2つのアプリケーションプールに対応する2つのw3wp.exeプロセスがあります。


は、コマンドプロンプトでiisapp -aを実行して、あなたはw3wp.exeのとアプリケーションプールを関連付けられているかを表示することができます。 1)タスクマネージャにdisplay pidフィールドを追加します2)コマンドプロンプトでiisapp -aを実行します。初めて実行したときは、jsのサポートがないことを確認するメッセージが表示されます。[OK]をクリックします。その後、もう一度実行してください。これにより、pidに対応するアプリケーションプールが表示されます。上の図の左側に示すように、アプリケーションプールKefuAppPoolはPID = 3232でw3wp.exeに関連付けられ、アプリケーションプールReportServerはPID = 3572でw3wp.exeに関連付けられています。次の図は、アプリケーションの手動実行を示しています。リサイクルの前に、プログラムプールKefuAppPoolの回復、アプリケーションプールのリサイクルと回復後の作業プロセス。リカバリ処理中にワークプロセス(PID = 3896)が追加されたことに気付き、ワークプロセス(PID = 3896)が開始された後、古いワークプロセス(PID = 5716)が停止され、新しいワークプロセス(PID = 3896)が停止されました。 )アプリケーションプールのリサイクルプロセス中にサービスが中断されないようにするのに非常に優れているため、プログラムの継続的な運用が保証されます。他の2つのアプリケーションプールに対応するワークプロセスPIDは役に立ちません。この図は、アプリケーションプールのリサイクルプロセスの好例です。 IISアプリケーションプールの自動リサイクルメカニズムは私たちに便利さをもたらしますが、潜在的な問題も引き起こします。 Globalファイルにグローバルイベントに依存する機能、特に毎日定期的に実行される機能を書くときは特に注意する必要がありますIISアプリケーションプールを再起動した後、Webサイトにアクセスするユーザーがいない場合、Application_Startイベントはアクティブになりません。実行しました。

Copyright © Windowsの知識 All Rights Reserved