ブート パフォーマンス データ取得方法

はじめに

PFE にて、ブートパフォーマンスの調査を行う場合には、PC メーカーがインストールされている OS をサポートしている事が前提となります。

昨今 Windows 10 (バージョン毎の対応状況も含む) のサポート対象機種でないにも関わらずインストールされ、パフォーマンスが出ないとか、ダウングレード権があるものの、ダウングレードした OS のメーカー サポートがない状態にも関わらず、パフォーマンスが出ないという相談が増えておりますので、まずは PC メーカーがサポート対象としている OS とそのバージョンであるか、対象であった場合にはドライバーは正しくアップデートしているかをお確かめください。

例: 2013 年発売のとある PC は Windows 10 の 1703 以降はサポート対象外でドライバーも用意されていない  →  調査対象外となります。

Windows Vista 以降の Windows ではこのようなブート メカニズムとなっており、分析結果レポートで記載する時間は Windows Performance Toolkit  でデータ取得が可能な [カーネル 初期化] 以降となります (今は XPERF という名称はあまり使いません)。

また、HDD の場合には ReadyBoot (Prefetch を含む)ブート最適化のプロセスがあります。これは最低 6 回再起動が行われている必要があり、行われていない場合にはブート最適化が十分でない可能性があります (SSD の場合には十分高速なため無効化されます)。

パフォーマンスの考え方

パフォーマンス調査にはベースラインの存在が重要になります。なにをもってブート パフォーマンスが悪いと判断するのかですが、前の OS と比べてや、別の PC と比べてや、何となくや、体感的にといった指標では正確な判断はできません。

そのため、同じ PC で同じ OS のバージョンの状態でのパフォーマンスの変化を計測します。
例として Windows 10 プリインストールの PC を買ってきたとします。
その場合次のような形で取得します。
1. PC の電源を入れ、OOBE を進み(この時にはドメインに参加しない)、デスクトップが表示される
→ 通常はここをベースラインとし、データを 3 回* 収集します。
2. その後、ドメインに参加し、アプリのインストールを行い、企業で使える状態にします。
→ この時点が遅いと感じていると仮定して、ここでデータを 3 回* 収集します。

1 と 2 が数秒の違いしかなければ、パフォーマンスは変わっていないことになりますし、データ的に明らかに  1 と 2  で差異があるのであれば、それが判明します。

1 の段階で体感的に遅いと感じているようであれば、PC メーカーへの問い合わせとなります。場合によっては選定した機種がそもそもお客様の期待に合わないという事もあります。

* 3  回取得するのはデータのブレに対応するためです。環境によりますが、3  回とも同じようなデータにならない場合があり、大きく開きが出る場合もありますし、2 の段階で著しくパフォーマンスが落ちてしまい、データそのものの取得に失敗する場合もあるので、念のため 3 回取得します。

データ取得手順

Windows Performance Toolkit のインストール

データ分 析を行う PC で、次の場所から Windows ADK をダウンロードし、その中で Windows Performance Toolkit をインストールします

  • 2017/07/14 時点では バージョン1703 が最新です
    https://developer.microsoft.com/ja-jp/windows/hardware/windows-assessment-deployment-kit
  • インストールの画面でインストールする項目が選べますので、”Windows Performance Toolkit” のみを選択します。
  • インストールが完了すると、C:Program Files (x86)Windows Kits10Windows Performance ToolkitRedistributables に再頒布用のパッケージが作成されます。
  • データ収集を行う PC で、アーキティクチャに合った再頒布用パッケージを実行します。
    (再頒布用パッケージはサイレント インストールとなります)

(オプション)ブート強制最適化 (OS 起動ドライブが SSD の場合は必要ありません)

  1. Administrators に含まれるユーザーでログインを行い、管理者権限でコマンドプロントを開始します (Users に含まれるユーザーでログインを行った後に、Administrators に含まれる別ユーザーを使って管理者権限でコマンドプロンプトを起動した場合には、再起動後のログインの後失敗します)
  2. Windows Performance Toolkit がインストールされているディレクトリで次のコマンドを実行します
    Xbootmgr.exe –trace rebootCycle –prepSystem

再起動が複数回実行され、2回目の再起動の後デフラグが行われますので、この実行には1時間~2時間ほどかかります。
(再起動後のログインはAdministrators に含まれる処理を開始した同じユーザーでログインします)
HDD システムで事前にこれを行っていない場合には取得するタイミングで最適化が進むため、何も変更していなくても起動時間が短くなる傾向となります。

データの取得

  1. Administrators に含まれるユーザーでログインを行います。
    (Users に含まれるユーザーでログインを行った後に、Administrators に含まれる別ユーザーを使ってWPRUI を起動した場合には、再起動後のログインの後で失敗し、データの収集が正常にできません)
  2. [スタート] メニューから [Windows Performance レコーダー] また、WPRUI.EXE を起動します。
  3. パフォーマンスシナリオを “ブート” にし、必要な追加分析項目にチェックを入れて (通常は Registry I/O activityまでで問題ありません)、[開始] をクリックします。
    回数は既定で 3 となっており、3回分自動的に再起動が行われ収集しますが、テストで実行される際には下図のように 1 にして実行します
  4. 再起動が行われ、ログの取得が開始します。
    (再起動後のログインはAdministrators に含まれる処理を開始した同じユーザーでログインします)

データの確認

取得された拡張子 etl ファイルをデータ分 析を行う PC でダブル クリックすると、Windows Performance Analyzer が起動し、分析を開始することができますが、このとき次のようなダイアログが表示される場合には、情報の欠落が発生しています。

この状態のまま分析を進めることも可能ですが、情報が欠落しているため分析できない箇所が発生します。主な原因は HDD が高負荷となった事による影響、3rd Party 製ドライバーによる影響など様々です。
この状況が発生した場合には、次のようにデータ量を削減して取り直しを行ってみてください。

データ量を削減する

スタック トレース情報が無くなるため、詳細分析はできなくなりますが傾向を掴むことは可能です。
[Detail level] をLight に変更します。
それでも引き続きメッセージが表示されるようであれば、さらに収集する情報を少なくするため、[Select additional profiles for performance recording] のチェックを [Fist level triage] のみとします。

データの比較

次のようにベースラインと見比べることで、どこで時間がかかっているのかが判断できます。

詳細データ分析

詳細なデータ分析が必要な場合には有償にて分析しますので、弊社 TAM まで取得したデータ (必ずベースラインと、遅いと思われるデータのそれぞれ 3 回分)を ZIP 圧縮した状態でお送りください。

なお、ご自身で分析手法を学習されたい場合には、別途 Workshop Library On Demand (WLOD) にて、ビデオによる解説を行っておりますので、WLOD を契約済みの場合には、リンクからご覧いただけます。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中