都内で働くSEの技術的なひとりごと / Technical soliloquy of System Engineer working in Tokyo

都内でサラリーマンやってます。SQL Server を中心とした (2023年からは Azure も。) マイクロソフト系(たまに、OSS系などマイクロソフト以外の技術も...)の技術的なことについて書いています。日々の仕事の中で、気になったことを技術要素関係なく気まぐれに選んでいるので記事内容は開発言語、インフラ等ばらばらです。なお、当ブログで発信、発言は私個人のものであり、所属する組織、企業、団体等とは何のかかわりもございません。ブログの内容もきちんと検証して使用してください。英語の勉強のため、英語の

そろそろ IIS のチューニングをする - その2( CPU Throttling 設定 ※IIS8.0からです ) -

 IIS8.0からアプリケーションプールのCPU使用率が閾値を超えた場合の動作として、『Throttle』『ThrottleUnderLoad』を設定可能になりました。ここに説明が記載されています。複数のアプリケーションプールに対して『Throttle』『ThrottleUnderLoad』設定することで、アプリケーションプール間でCPU使用率が制御可能になります。それでは、早速設定してみましょう。IIS マネージャーを起動し、アプリケーションプールをクリックします。

f:id:koogucc11:20131207095720p:plain

 ここでは、『RyuchanApplicationPool』『RinachanApplicationPool』『ReinachanApplicationPool』があるとします。( アプリケーションが設定されてないですが.... ) それぞれのアプリケーションプールの CPU 使用の動作を下記のような条件で設定してみましょう。

  • RyuchanApplicationPool:CPU の使用率は常に 60% 以下とする。
  • RinachanApplicationPool:CPU の使用率は常に 30% 以下とする。
  • ReinachanApplicationPool:RyuchanApplicationPool または、RinachanApplicationPool が動作している場合には、自分自身の Pool は CPU の使用率 10% 以下 とする。それ以外の場合は、CPUを自由に使用することができる。

 まず、『RyuchanApplicationPool』を右クリックし、詳細設定をクリックします。

f:id:koogucc11:20131207100414p:plain

 制限(% の 1/1000) と 制限動作を設定します。制限(% の 1/1000) を 60000 と指定します。制限動作は、Throttle を指定します。RinachanApplicationPool は同様に、制限(% の 1/1000) を 30000 と指定します。制限動作は、Throttle を指定します。

※ちょっと設定方法が分かりにくいですね。

f:id:koogucc11:20131207100650p:plain

 次に、『ReinachanApplicationPool』を右クリックし、詳細設定をクリックします。『ReinachanApplicationPool』は、制限(% の 1/1000) を 10000 と指定します。制限動作は、ThrottleUnderLoad を指定します。

 これでアプリケーションプールごとの CPU 使用率を制限することが可能になります。互いの動作に影響を与えないようにするなど、便利な機能だと思います。IIS 8.0 を使える環境があれば、設定すべき項目だと思います。

※今回設定しただけで、検証はしていません....