作成者: Gary Ericson
IIS 8.5 では、多数の構成済みサイト (既定では 100 以上) がある場合、このサービスが起動したとき、いかなるサイトもアクティブになりません。
互換性
バージョン | メモ |
---|---|
IIS 8.5 以降 | 動的な Web サイトのアクティブ化は IIS 8.5 で導入されました。 |
IIS 8.0 以前 | IIS 8.5 より前は、動的な Web サイトのアクティブ化はサポートされていませんでした。 |
問題
Windows Server 2012 サービスのインターネット インフォメーション サービス (IIS) がシステム起動時に起動すると、構成されているすべての Web サイトが自動的にアクティブになります。 つまり、サイトに初めてアクセスすると、そのサイトが利用可能になり、迅速に応答します。 ただし、多数のサイトが構成されているシステムでは、すべてのサイトを一度にアクティブ化するのに多くの時間とリソースがかかるだけでなく、サイトで大量のメモリが使用される可能性があります。 サイトの大部分でアクセス頻度が低い場合、これはシステム リソースの不要な無駄使いになる可能性があります。
このコンテキストでは、"アクティブ化" とは、IIS によってサイトが、Windows Server オペレーティング システムの一部である HTTP プロトコル スタック (HTTP.SYS) に登録されるプロセスを指します。 このアクティブ化は、サイトの worker プロセスを作成するアクションと混同しないでください。
解決策
IIS 8.5 以降では、多数の構成済みサイト (既定では 100 以上) がある場合、このサービスが起動したとき、いかなるサイトもアクティブになりません。 代わりに、IIS では、サイトの最初の要求を受信した場合にのみ、各サイトがアクティブ化されます。 これにより、特に多数のサイトが頻繁にアクセスされる場合に、IIS で必要なシステム リソースの量が減ります。 サイトに対する最初の要求は、サイトがアクティブ化されるため、時間がかかりますが、後続のアクセスは正常に応答します。
ステップ バイ ステップの手順
動的 Web サイトのアクティブ化の構成
既定では、IIS 8.5 以降では 100 サイトのしきい値が使用されます。
- 構成されているサイトが 100 未満の場合、IIS では起動時にすべてのサイトがアクティブ化されます。
- 100 以上のサイトが構成されている場合、IIS により、各サイトが初回アクセス時にアクティブ化されます。
このしきい値は、構成エディターを使用して変更できます。
- IIS マネージャーを開きます。
- [接続] ペインでサーバーを選択し、[構成エディター] をダブルクリックします。
- セクション system.applicationHost/webLimits を選択します。
- dynamicRegistrationThreshold の値を新しいしきい値に設定します (既定値は 100 です)。
- IIS を再開します。
まとめ
このガイドでは、IIS で使用されるしきい値を変更して、動的サイト アクティブ化機能が有効となるしきい値を決定しました。