Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

5.2. Performance Co-Pilot による XFS ファイルパフォーマンスの分析

ここでは、PCP XFS パフォーマンスメトリックとその使用方法について説明します。Performance Metric Collector Daemon (PMCD) が起動すると、インストールされた Performance Metric Domain Agent (PMDA) からパフォーマンスデータの収集を開始します。PMDA は、システムで個別にロードまたはアンロードでき、同じホスト上の PMCD によって制御されます。PCP の XFS ファイルシステムのパフォーマンメトリックデータを収集するには、デフォルトの PCP インストールの一部である XFS PMDA が使用されます。

5.2.1. XFS PMDA をインストールして PCP で XFS データを収集

XFS PMDA は pcp パッケージの一部として提供され、インストールではデフォルトで有効になっています。PCP をインストールするには以下を行います。
# yum install pcp
pcp および pcp-gui パッケージのインストール後にホストマシンで PMDA サービスを有効化および起動するには、以下のコマンドを実行します。
# systemctl enable pmcd.service
# systemctl start pmcd.service
PMCD プロセスがホストで実行され、XFS PMDA が設定で有効になっていることを検証するため、PCP 環境にクエリーを行うには、以下を入力します。
# pcp

Performance Co-Pilot configuration on workstation:

platform: Linux workstation 3.10.0-123.20.1.el7.x86_64 #1 SMP Thu Jan
29 18:05:33 UTC 2015 x86_64
hardware: 2 cpus, 2 disks, 1 node, 2048MB RAM
timezone: BST-1
services pmcd
pmcd: Version 3.10.6-1, 7 agents
pmda: root pmcd proc xfs linux mmv jbd2

XFS PMDA の手動インストール

XFS PMDA が、PCP 設定の読み出しに記載されていない場合は、PMDA エージェントを手動でインストールします。PMDA インストールスクリプトによって、PMDA ロールの指定を求められます (collector、monitor、both)。
  • collector ロールを使用すると、現在のシステムでパフォーマンスメトリックを収集できます。
  • monitor ロールを使用すると、システムはローカルシステム、リモートシステム、またはその両方を監視できます。
デフォルトのオプションは collector と monitor の両方 であり、ほとんどのシナリオで XFS PMDA が正常に動作できるようにします。
XFS PMDA を手動インストールするには、xfs ディレクトリーに移動します。
# cd /var/lib/pcp/pmdas/xfs/
xfs ディレクトリーで、以下を入力します。
xfs]# ./Install

You will need to choose an appropriate configuration for install of
the “xfs” Performance Metrics Domain Agent (PMDA).

  collector     collect performance statistics on this system
  monitor       allow this system to monitor local and/or remote systems
  both          collector and monitor configuration for this system

Please enter c(ollector) or m(onitor) or (both) [b]
Updating the Performance Metrics Name Space (PMNS) ...
Terminate PMDA if already installed ...
Updating the PMCD control file, and notifying PMCD ...
Waiting for pmcd to terminate ...
Starting pmcd ...
Check xfs metrics have appeared ... 149 metrics and 149 values

5.2.2. XFS パフォーマンスメトリックの設定および検証

pminfo でのメトリックの検証

PCP がインストールされ、XFS PMDA が有効になっている場合は、「XFS PMDA をインストールして PCP で XFS データを収集」 で手順を利用できます。PCP および XFS で利用可能なパフォーマンスメトリックを確認する最も簡単な方法は、pminfo ツールを使用することです。これにより、利用可能なパフォーマンスメトリックに関する情報が表示されます。コマンドは、XFS PMDA によって提供される利用可能なメトリックをすべて表示します。
XFS PMDA によって提供される利用可能なメトリックスをすべて表示するには、以下を実行します。
# pminfo xfs
以下のオプションを使用して、選択したメトリックの情報を表示します。
-t metric
選択したメトリックを説明するヘルプ情報を 1 行で表示します。
-T metric
選択したメトリックを説明するより詳細なヘルプテキストを表示します。
-f metric
メトリックスに対応するパフォーマンスの現在の読み取り値を表示します。
メトリックのグループまたは個別のメトリックに -t-T、および -f オプションを使用できます。ほとんどのメトリックデータは、プロービング時にシステム上のマウントされた各 XFS ファイルシステムに提供されます。
ドット(.)を区切り文字として使用し、異なる グループ がルート XFS メトリックの新しいリーフノードになるように配置される XFS メトリックのグループは複数あります。リーフノードセマンティック (ドット) はすべての PCP メトリックに適用されます。各グループで利用できるメトリックの種類の概要は、表A.3「XFS の PCP メトリックグループ」 を参照してください。
また、XFS のドキュメントには XFS ファイルシステムの監視に関するセクションChapter 13. XFS Monitoringが含まれています。

例5.1 pminfo ツールを使用した XFS 読み書きメトリックの検証

xfs.write_bytes メトリックを説明するヘルプ情報を 1 行表示するには、次のコマンドを実行します。
# pminfo -t xfs.write_bytes

xfs.write_bytes [number of bytes written in XFS file system write operations]
xfs.read_bytes メトリックを説明するより詳細なヘルプテキストを表示するには、次のコマンドを実行します。
# pminfo -T xfs.read_bytes

xfs.read_bytes
Help:
This is the number of bytes read via read(2) system calls to files in
XFS file systems. It can be used in conjunction with the read_calls
count to calculate the average size of the read operations to file in
XFS file systems.
xfs.read_bytes メトリックに対応するパフォーマンスの現在の読み取り値を取得するには、次のコマンドを実行します。
# pminfo -f xfs.read_bytes

xfs.read_bytes
    value 4891346238

pmstore でのメトリックの設定

PCP では、特にメトリックが制御変数として動作する場合(例: xfs.control.reset メトリック)、特定のメトリックの値を変更できます。メトリックの値を変更するには、pmstore ツールを使用します。

例5.2 pmstore を使用した xfs.control.reset メトリックのリセット

この例は、xfs.control.reset メトリックで pmstore を使用して、XFS PMDA の記録されたカウンター値をゼロにリセットする方法を示しています。
$ pminfo -f xfs.write

xfs.write
    value 325262
# pmstore xfs.control.reset 1

xfs.control.reset old value=0 new value=1
$ pminfo -f xfs.write

xfs.write
    value 0

5.2.3. ファイルシステムごとに利用できる XFS メトリックの検証

Red Hat Enterprise Linux 7.3 より、PCP は XFS PMDA を有効にし、マウントされた各 XFS ファイルシステムに対して特定の XFS メトリックの報告を可能にします。これにより、特定のマウントされたファイルシステムの問題を特定して、パフォーマンスを評価することが容易になります。各グループのファイルシステムごとに使用できるメトリックの種類の概要については、表A.4「デバイスごとの XFS の PCP メトリックグループ」 を参照してください。

例5.3 pminfo でのデバイスごとの XFS メトリックの取得

pminfo コマンドは、マウントされた各 XFS ファイルシステムのインスタンス値を提供するデバイスごとの XFS メトリックを提供します。
# pminfo -f -t xfs.perdev.read xfs.perdev.write

xfs.perdev.read [number of XFS file system read operations]
inst [0 or "loop1"] value 0
inst [0 or "loop2"] value 0

xfs.perdev.write [number of XFS file system write operations]
inst [0 or "loop1"] value 86
inst [0 or "loop2"] value 0

5.2.4. pmlogger でのパフォーマンスデータのロギング

PCP を使用すると、後で再生できるパフォーマンスメトリック値をログに記録することができ、回顧的なパフォーマンス分析に使用できます。pmlogger ツールを使用して、システムで選択したメトリックのアーカイブログを作成します。
pmlogger を使用すると、システム上で記録するメトリックと記録する頻度を指定することができます。デフォルトの pmlogger 設定ファイルは /var/lib/pcp/config/pmlogger/config.default です。設定ファイルでは、プライマリーのロギングインスタンスによって記録されるメトリックを指定します。
pmlogger を使用してローカルマシンのメトリック値をログに記録するには、プライマリーロギングインスタンスを開始します。
# systemctl start pmlogger.service
# systemctl enable pmlogger.service
pmlogger が有効で、デフォルトの設定ファイルが設定されている場合は、pmlogger 行が PCP 設定に含まれます。
# pcp

Performance Co-Pilot configuration on workstation:

platform: Linux workstation 3.10.0-123.20.1.el7.x86_64 #1 SMP Thu Jan
[...]
pmlogger: primary logger:/var/log/pcp/pmlogger/workstation/20160820.10.15

pmlogconf での pmlogger 設定ファイルの編集

pmlogger サービスの実行中に、PCP はホスト上のデフォルトのメトリクスセットをログに記録します。pmlogconf ユーティリティーを使用してデフォルト設定を確認し、必要に応じて XFS ロギンググループを有効にできます。有効にする重要な XFS グループには、XFS informationXFS data、および log I/O traffic グループが含まれます。
pmlogconf のプロンプトに従って、関連するパフォーマンスメトリックのグループを有効または無効にすると、有効な各グループのロギング間隔を制御します。グループを選択するには、プロンプトに応答して y (yes)または n (no)を押します。pmlogconf で汎用 PCP アーカイブのロガー設定を作成または編集するには、以下を入力します。
# pmlogconf -r /var/lib/pcp/config/pmlogger/config.default

pmlogger 設定ファイルの手動編集

pmlogger 設定ファイルを手動で編集し、指定した間隔で特定のメトリックを追加して、ロギング設定を作成できます。

例5.4 pmlogger 設定ファイルと XFS メトリック

以下の例は、特定の XFS メトリックが追加された pmlogger config.default ファイルの抜粋を示しています。
# It is safe to make additions from here on ...
#

log mandatory on every 5 seconds {
    xfs.write
    xfs.write_bytes
    xfs.read
    xfs.read_bytes
}

log mandatory on every 10 seconds {
    xfs.allocs
    xfs.block_map
    xfs.transactions
    xfs.log

}

[access]
disallow * : all;
allow localhost : enquire;

PCP ログアーカイブの再生

メトリックデータの記録後、以下の方法でシステムの PCP ログアーカイブを再生できます。
  • pmdumptextpmreppmlogsummary などの PCP ユーティリティーを使用して、ログをテキストファイルにエクスポートし、スプレッドシートにインポートすることができます。
  • PCP Charts アプリケーションのデータを再生し、システムの現在のデータとともに、グラフを使用して回顧的なデータを可視化します。「PCP Charts での視覚追跡」を参照してください。
pmdumptext ツールを使用してログファイルを表示できます。pmdumptext を使うと、選択した PCP ログアーカイブを解析し、値を ASCII テーブルにエクスポートできます。pmdumptext ツールを使用すると、アーカイブログ全体をダンプすることができ、コマンドラインでメトリックを指定してログから選択したメトリックの値のみをダンプすることもできます。

例5.5 特定の XFS メトリックログ情報の表示

たとえば、5 秒間隔でアーカイブに収集された xfs.perdev.log メトリックのデータを表示し、すべてのヘッダーを表示するには、次のコマンドを実行します。
$ pmdumptext -t 5seconds -H -a 20170605 xfs.perdev.log.writes

Time local::xfs.perdev.log.writes["/dev/mapper/fedora-home"] local::xfs.perdev.log.writes["/dev/mapper/fedora-root"]
? 0.000 0.000
none count / second count / second
Mon Jun 5 12:28:45 ? ?
Mon Jun 5 12:28:50 0.000 0.000
Mon Jun 5 12:28:55 0.200 0.200
Mon Jun 5 12:29:00 6.800 1.000
詳細は、pcp-doc パッケージから利用できる pmdumptext(1) man ページを参照してください。

5.2.5. PCP Charts での視覚追跡

グラフィカルな PCP Charts アプリケーションを使用するには、pcp-gui パッケージをインストールします。
# yum install pcp-gui
PCP Charts アプリケーションを使用してパフォーマンスメトリック値をグラフにすることができます。PCP Charts アプリケーションを使用すると、複数のチャートを同時に表示することができます。メトリックは、PCP ログアーカイブのメトリックデータを履歴データのソースとして使用する代替オプションを持つ 1 台または複数のライブホストから提供されます。コマンドラインから PCP Charts を起動するには、pmchart コマンドを使用します。
PCP Charts の起動後、GUI が表示されます。
PCP Charts アプリケーション
PCP Charts アプリケーション
pmtime サーバー設定は下部にあります。start ボタンおよび pause ボタンを使用すると、以下を制御できます。
  • PCP がメトリックデータをポーリングする間隔
  • 履歴データのメトリックの日付および時間
FileNew Chart に移動し、ホスト名またはアドレスを指定して、ローカルマシンとリモートマシンの両方からメトリックを選択します。その後、リモートホストからパフォーマンスメトリックを選択します。高度な設定オプションには、チャートの軸値を手動で設定する機能、およびプロットの色を手動で選択する機能が含まれます。
PCP Charts で作成されたビューを記録したり、イメージを取得するオプションは複数あります。
  • FileExport をクリックして、現在のビューのイメージを保存します。
  • RecordStart をクリックして記録を開始します。RecordStop をクリックして、録画を停止します。録画の停止後、記録されたメトリックは後で表示できるようにアーカイブが作成されます。
PCP Charts インターフェイスをカスタマイズすると、以下を含む複数の方法でパフォーマンスメトリックからデータを表示できます。
  • 折れ線グラフ
  • 棒グラフ
  • 使用状況グラフ
PCP Charts では、ビュー と呼ばれるメイン設定ファイルにより、1 つ以上のチャートに関連付けられたメタデータを保存できます。このメタデータでは、使用されるメトリックや、チャート列など、チャート側面をすべて記述します。カスタム ビュー 設定を作成し、FileSave View をクリックして保存し、後で view 設定を読み込むことができます。ビュー 設定ファイルとその構文の詳細は、pmchart(1) の man ページを参照してください。

例5.6 PCP Charts の view 設定での積み上げチャートグラフ

PCP Charts ビュー設定ファイルの例では、指定の XFS ファイルシステム loop1 に読み書きされた合計バイト数を示す積み上げチャートグラフを説明します。
#kmchart
version 1

chart title "Filesystem Throughput /loop1" style stacking antialiasing off
    plot legend "Read rate"   metric xfs.read_bytes   instance  "loop1"
    plot legend "Write rate"  metric xfs.write_bytes  instance  "loop1"