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 が使用されます。
PCP で配布されるシステムサービスとツールの一覧については、表A.1「Red Hat Enterprise Linux 7 で Performance Co-Pilot により配布されるシステムサービス」 と 表A.2「Red Hat Enterprise Linux 7 で Performance Co-Pilot により配布されるツール」 を参照してください。
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
collector
ロールを使用すると、現在のシステムでパフォーマンスメトリックを収集できます。
monitor
ロールを使用すると、システムはローカルシステム、リモートシステム、またはその両方を監視できます。
と 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 information、XFS 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 ログアーカイブを再生できます。
pmdumptext
、pmrep
、pmlogsummary
などの 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 が表示されます。
pmtime
サーバー設定は下部にあります。 ボタンおよび ボタンを使用すると、以下を制御できます。
- PCP がメトリックデータをポーリングする間隔
- 履歴データのメトリックの日付および時間
PCP Charts で作成されたビューを記録したり、イメージを取得するオプションは複数あります。
をクリックして、現在のビューのイメージを保存します。 をクリックして記録を開始します。 をクリックして、録画を停止します。録画の停止後、記録されたメトリックは後で表示できるようにアーカイブが作成されます。
PCP Charts インターフェイスをカスタマイズすると、以下を含む複数の方法でパフォーマンスメトリックからデータを表示できます。
- 折れ線グラフ
- 棒グラフ
- 使用状況グラフ
PCP Charts では、 をクリックして保存し、後で
ビュー
と呼ばれるメイン設定ファイルにより、1 つ以上のチャートに関連付けられたメタデータを保存できます。このメタデータでは、使用されるメトリックや、チャート列など、チャート側面をすべて記述します。カスタム ビュー
設定を作成し、 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"