IIS 7.5のアプリケーションプールのCPU制限


8

iis 7.5では、アプリケーションプールの指定された時間にCPU%使用率制限を設定できることがわかりました。この制限に違反した場合は、ワーカープロセスを強制終了させることもできます。これを行うように指示すると、ワーカープロセスが強制終了された後に自動的に再起動しますか、それとも手動による介入が必要ですか?

スタックオーバーフローの上でという言及があり、それができる期間の終了時に再起動が...

回答:


4

これは、シミュレーション(またはソースコードへのアクセス...> sigh <)が、ある程度の信頼度で動作を確認する唯一の方法となるケースの1つに似ています。

CPUクォータリサイクルイベントログエントリのドキュメントでは、リサイクルについて次のように説明しています。

既定では、アプリケーションプールのリサイクルは重複しています。つまり、シャットダウンされるワーカープロセスは、新しいワーカープロセスが開始されるまで実行され続けます。新しいワーカープロセスが開始すると、新しいリクエストがそれに渡されます。古いワーカープロセスは、既存の要求の処理が終了した後、または構成されたタイムアウト後のいずれか早い方でシャットダウンします。このリサイクル方法により、クライアントへのサービスが中断されません。ただし、アプリケーションプール内のアプリケーションが同時に複数のインスタンスを実行できない場合は、オーバーラップローテーションを無効にできます。

当然のことながら、過度のCPU消費のためにワーカープロセスを終了すると、保留中のリクエストは完了できません(CPUクォータを使い果たしているため)。

主な懸念事項についてお話しします。新しいワーカープロセスが自動的に起動されないだろうと私を信じさせるようなことは何も見ていません。Stack Overflowリンクのステートメントでは、IISで使用されるアルゴリズムが実際にリサイクルをCPUクォータの枯渇を測定するために使用されるタイマーの解決に結び付ける可能性があるかどうか疑問に思っています。CPUを浪費するサーバー側コンポーネントを作成してテスト環境に展開し、そのリサイクル動作がどのように機能するかを確認することは、私が知る最良の方法です。数秒間タイトなループに留まり、既知の文字列を返し、並列の「wget」プロセスのプールのようなものでテストハーネスを実行しているクライアントと組み合わせる単純なコンポーネントで十分です。


Yaは、テストする必要があるかもしれません。私はすでに、この種の便利なものをテストするためにPythonで1回のオフロードテストスクリプトを記述しました...さまざまなソースIPにバインドできるように、ハッキングバージョンのソケットとhttpライブラリを使用する必要がありました:-)
Kyle Brandt

しかし、1つのリクエストで十分かもしれません...πを計算するWebアプリ
カイル・ブラント

@カイル:無限のリクエストはしませんが。「処理中」のリクエストをいくつか受け取ると、サーバーのCPUを飽和させますが、最終的には結果を返すような処理を行います。このようにして、テストリグは、実行するすべてのリクエストの成功/失敗についてレポートできます。そうしないと、リサイクルの動作が実際にクライアントのサービス停止につながるかどうかわかりません。
エヴァンアンダーソン

ああ、あなたの言っていることはわかります...このテストの主な目的ではありません... 私はそれがいつ殺されたか、それが戻ってくるかどうかを見たいだけです。CPU制限は、5〜10%の使用率になる可能性のあるものに対して、5分間で90%程度になります。基本的に、それは壊れています:-)
カイル・ブラント

私自身のテストでは、CPU制限が1(非常に小さい)で1分の更新でアプリプールを実行し、制限に達すると、システムイベント5025がログに記録され、アプリケーションプールが停止して、w3wpプロセスが強制終了されることが示されています。時間制限が終了すると、アプリケーションプールが再起動されます。
Glasnt

4

他の応答でのコメントを考慮して、私は自分でテストを行ったので、ここで繰り返します。

私のテストでは、KillW3WPアクションを有効にして、アプリケーションプール(v4.0統合)を小さなCPU制限(0.01%)と小さな間隔(1分)に制限し、この制限を超えると、アプリケーションプールを停止して w3wpを強制終了します

間隔の制限に達すると、アプリケーションプールが自動的に再起動されます。

アクションを「アクションなし」に変更しても、w3wpプロセスは変更されません

どちらの場合も、システムイベント5025が記録されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.