この記事では、Microsoft®Windows®インターネットインフォメーションサービス(IIS)によって引き起こされる高リソース使用量の基本的なトラブルシューティングについて説明します。
リソースの使用状況とワーカープロセスを確認する(w3wp)
タスクマネージャを使用するには、次の手順を実行します どのプロセスが最も多くのリソースを消費しているかを確認するには:
-
タスクバーを右クリックして、タスクマネージャーを選択します 。
-
プロセスに移動します タブをクリックし、すべてのユーザーのプロセスを表示するの横にあるチェックマークを選択します 。
-
いずれかのCPUをクリックします またはメモリ リソース使用量に基づいてプロセスを並べ替えます。
サイトの1つが高いリソース消費を引き起こした場合は、 w3wp.exeが表示されます。 (IISワーカープロセス)このリストの一番上に向かって。問題の原因となっているサイトを特定するには、 w3wp.exeの横に表示されるPIDをメモします。 。
-
Windows をクリックして、管理者としてコマンドプロンプトを開きます タスクバーのボタンをクリックし、 cmdと入力します 。
-
結果を右クリックして、管理者として実行を選択します 。
-
コマンドプロンプトで、「 cd%windir%\ System32 \ inetsrv」と入力します Enterを押します :
-
appcmd list wpと入力します Enterを押します 。
これで、以前に特定したPIDを対応するワーカープロセスと照合して、問題の原因となっているサイトを特定できます。
-
IISで実行中のワーカープロセスを確認するには、 Windowsをクリックします タスクバーのボタンをクリックして、 IISと入力します 。
-
IISを選択します 結果からサーバー名をクリックし、ワーカープロセスを選択します アイコン。すべてのworkerprocessesとそのリソース使用量のリストが表示されます。
サイトを対象とした多数のWebリクエストは、リソースの枯渇を引き起こす可能性があります。現在のWebリクエストを確認するには、Web Request Monitor
をインストールする必要があります IISのモジュール。ユーティリティをインストールするには、管理者権限が必要です。
Web Request Monitor
をインストールするには、次の手順を実行します :
-
PowerShell®を開きます Windowsをクリックして ボタンを押してPowerShellと入力します 。
-
結果をクリックし、コマンド Install-WindowsFeature Web-Request-Monitorをコピーして貼り付けます 、Enterキーを押します。このコマンドは、インストールの完了後に成功メッセージを表示します。
-
IISを閉じてから再度開き、新しくインストールされたモジュールにアクセスします。
-
ワーカープロセスの下 、目的のワーカープロセスを右クリックし、[現在のリクエストを表示]を選択します 。
-
サイトへのすべてのアクティブなWebリクエストのリストを確認します。このレビューは、多数のリクエストが同じクライアントIPアドレスから送信されているかどうかを判断するのに役立ちます。
WebサイトがSQLデータベースなどの他のアプリケーションに依存している場合は、問題の原因を見つけるためにさらに調査する必要がある場合があります。また、サイトまたはアプリケーションの.NETコードに問題がある可能性があり、ソフトウェア開発者はこれを分析する必要があります。
多くの場合、アプリケーションプールをリサイクルすることで、サイトの問題を修正できます。次の手順を実行して、プールをリサイクルします。
-
アプリケーションプールに移動します IISのタブ。
-
対応するアプリケーションプールを右クリックして、[リサイクル]を選択します 。
アプリケーションプールのリサイクルによる影響は最小限で、ダウンタイムはありませんが、セッション情報が失われます。影響をさらに最小限に抑えるために、トラフィックの少ない時間帯に毎日リサイクルするようにアプリケーションプールを設定できます。
アプリケーションプールのリサイクルを設定するには、次の手順を実行します。
-
アプリケーションプールを右クリックして、リサイクル…を選択します 。
-
特定の時間の横にあるチェックマークを選択します このタスクの希望する時間を選択します。