[Sitecore][Tool]トラブルシューティングとしてリクエスト一覧を見る

概要:

最近プロダクションにて特定の時間帯にて、CUPが100%となり、サイトのロード速度が

遅くなってしまいました。その原因は特定のIPより、特定のページへのリクエストを継続的

にされていたことが原因だった。そのトラブルシューティングする際に、IISマネージャーの

リクエスト一覧を使用していましたが、これは案外知られていないようで、メモ書きとして

書き留めます。

 

2018-11-02 Friday

 

サイトのロード速度が落ちるのはいろいろな原因があります。その一つのチェックポイントとして、

CPUの使用状況の確認です。その際によく、IISのWorkerプロセスがCPUをリソースを使っている

ことが分かりながら、その原因を突き止めるにはいろいろなツールがあり、また、サイトコアの

ログを見ることも一つの手です。今回のように、特定の時間帯で起きることで、最初にインディクス

再構築が原因かと思ってけど、なにかリクエストーされているかを見てみると、特手のページへ

特定のIPよりサイトの速度を落としていることをが分かった。その際に使ったツールをはIIS

マネージャーにあるリクエストの一覧でした。

2018-11-02 Friday111

 

もし、この機能がインストールされていなかったら、下記の手順にて、インストールすればいい。

Server Manager -> Add Roles.

  • Web Server (IIS)
    • Web Server
      • Health and Diagnostics
        • Request Monitor

2018-11-02 Friday112

 

リクエストを見るには、IISマネージャーを起動し、WorkerProcessesを選択

2018-11-02 Friday113

2018-11-02 Friday114

 

ここにて、現時点のリクエストの一覧を見ることができます。

2018-11-02 Friday115

 

例えばお客さんより、ページのレスポンスが遅いと言えれ、このにてサーバーのリスエストの情報が

見ることができます。

 

例えば、TimeElapsedのコラムをみると、特手のページが時間がかかっていることが一目瞭然です。

この場合はカタログのページが時間がかかっているので、カタログ関連のトラブルシューティングすればいい。またフィールダーを使て、簡単に時間がかかるれクエストを特定することができます。リアルタイムなので、F5で最新のリクエストが表示されます。

 

2018-11-02 Friday116

また、appcmdを使って、同じリクエストをコマンドプロンプトにて見ることができます。

C:\Windows\System32\inetsrv>appcmd list requests

もし、データーをコピーしたいなら、CLIPを使えばいい。

C:\Windows\System32\inetsrv>appcmd list requests | clip

さらに、下記のように、特定のサイトにて時間がかかるリクエストをフィールダーすることができます。

例えば、二分以上かかるリクエストの一覧を見るには:

C:\Windows\System32\inetsrv>appcmd list requests /site.name "sitecore" /elapsed:120 | clip

 

Uncategorized