troushoo

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

  1. --/--/--(--) --:--:--|
  2. スポンサー広告

ブート時・シャットダウン時のパフォーマンス調査 : WPR・WPA

ブート時・シャットダウン時のパフォーマンス調査:WPR・WPA

概要・まとめ

WPR とWPA を用いて、ブート時・シャットダウン時のパフォーマンス調査を行う方法を紹介します。
(WPR は Windows Performance Recorder の略、WPA は Windows Performance Analyzer の略です。)

内容

今回は、Microsoft の会議(= TechEd 2013) のセッションで紹介されていた、WPR とWPA を用いた、ブート時・シャットダウン時のパフォーマンス調査を行う方法を紹介します。

WPR・WPA とは?
WPR・WPA はMicrosoft から公開されているフリーで使えるツールで、パフォーマンス問題の調査時に役に立ちます。
WPR・WPA はSDK に含まれています。
(ダウンロード・インストール方法の詳細につきましては、以前のブログ をご参照ください。)

WPR・WPA を用いたパフォーマンス調査
WPR・WPA を用いたパフォーマンス調査方法は、大きく分けて”WPR でパフォーマンス情報取得” と”WPA でパフォーマンス調査” という二つのフェーズに分けられます。
以下、それぞれの二つのフェーズに分けて紹介します。

[WPR でパフォーマンス情報取得]
1.  C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\WPRUI.exe を起動します。
WPRUI.exe を起動

2. “More Options” をクリックします。
More Options

3. “Performance scenario” を設定します。
ブート時のパフォーマンスを取得するには”Boot” を指定します。
シャットダウン時のパフォーマンスを取得するには”Shutdown” を指定します。
Performance scenario

Performance scenario は他にも、”Standby/Resume” や"Hibernate/Resume” 等があります。
Performance scenario

4. 必要に応じてその他の設定します。
・ “Select additional profiles for performance recording” では、追加で取得したい情報を選択します。
  (First level triage は基本的な情報を意味します。)
・ “Detail level” はVerbose (= 詳細) とLight (= 基本) から選べます。
・ “Number of iterations” には、何回パフォーマンス情報を取得するを記入します。
設定

5. “Start” をクリックします。
Start

6. “Type in detailed description of the problem” に問題の説明を入力し、“Save” をクリックします。
Save

7. 自動的に再起動する旨が表示され、”OK” を押すと再起動されます。
再起動する旨が表示される

8. 再起動後、自動的にWPR が起動し、パフォーマンス情報の取得が終了します。
WPR で作成されたパフォーマンスログのパスを確認しておきます。
パフォーマンス情報の取得が終了する

[WPA でパフォーマンス調査]
以下、WPA でWPR で作成されたパフォーマンス情報を見てみます。

- シャットダウン時のパフォーマンス情報
0. WPR で作成したパフォーマンスログ(= 上記8 で確認したパス) をダブルクリックします。
パフォーマンスログをダブルクリック

1. WPA が起動します。
WPA

2. シンボルをロードするために、“Trace” –> “Load Symbols” を行います。
シンボルのロード

2. “Computation” –> “CPU Usage (Sampled)” をダブルクリックして見てみます。
結果、シャットダウン時に、MyWPATest.exe が高負荷であったことがわかります。
CPU Usage (Sampled)

3. 高負荷時の関数名を確認するため、テーブルのタイトルの行を右クリックし”Stack” を追加してみます。
Stack を追加

4. 結果、ユーザーコードの中では”MyWPATest.exe!MyWPATest.Program::MyFunc” で時間がかかっていたことがわかります。
高負荷であった関数がわかる

- ブート時のパフォーマンス情報
ブート時もシャットダウン時とほぼ同等ですが、若干の違いもあります。
以下、特徴的な相違点です。
・ “System Activity” –> “Boot Phases” があります。
ここでは、ブート時の、どのフェーズで時間がかかったのかがわかります。
Boot Phases の情報


情報元
・How Many Coffees (New 2013 Edition) Can You Drink While Your PC Starts? (英語)
http://channel9.msdn.com/Events/TechEd/NorthAmerica/2013/WCA-B317#fbid=pTXeK-GFm4g

テーマ:Windows - ジャンル:コンピュータ

  1. 2013/09/23(月) 23:20:39|
  2. ツール
  3. | トラックバック:0
  4. | コメント:0
<<Visual Studio 2013 の新機能 : x64 アプリのエディット コンティニュ をサポート | ホーム | RawCap を用いてWireshark で自マシン間の通信を解析する方法>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://troushoo.blog.fc2.com/tb.php/135-300e76e9
この記事にトラックバックする(FC2ブログユーザー)

スポンサーリンク

最新記事

月別アーカイブ

カテゴリ

ツール (92)
ネットワーク (76)
Visual Studio (56)
SOS・Psscor2/Psscor4 (25)
WinDbg (25)
Linux (23)
Azure (17)
Tips (20)
英語 (1)
About Me (1)
未分類 (0)

全記事表示リンク

全ての記事を表示する

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。