10.2. pminfo ツールは、利用可能なパフォーマンスメトリックに関する情報を表示します。


pminfo ツールは、利用可能なパフォーマンスメトリックに関する情報を表示します。以下の例は、このツールで表示可能なさまざまな GFS2 メトリックを示しています。

10.2.1. 各ファイルシステムに現在存在している glock 構造の数を調べる

GFS2 glock メトリックは、現在マウントされた各 GFS2 ファイルシステムとそのロック状態について、glock 構造の数を示します。GFS2 では、glock は、DLM とキャッシングを 1 台のステートマシンにまとめるデータ構造です。各 glock には、1 つの DLM ロックと 1:1 の関係があり、そのロック状態のキャッシュを提供します。これにより、1 つのノードから実行される反復操作が DLM を繰り返し呼び出す必要がないため、不要なネットワークトラフィックを削減できます。

以下の pminfo コマンドは、ロックモードで、マウントされた GFS2 ファイルシステムごとの glock 数のリストを表示します。

# pminfo -f gfs2.glocks

gfs2.glocks.total
    inst [0 or "afc_cluster:data"] value 43680
    inst [1 or "afc_cluster:bin"] value 2091

gfs2.glocks.shared
    inst [0 or "afc_cluster:data"] value 25
    inst [1 or "afc_cluster:bin"] value 25

gfs2.glocks.unlocked
    inst [0 or "afc_cluster:data"] value 43652
    inst [1 or "afc_cluster:bin"] value 2063

gfs2.glocks.deferred
    inst [0 or "afc_cluster:data"] value 0
    inst [1 or "afc_cluster:bin"] value 0

gfs2.glocks.exclusive
    inst [0 or "afc_cluster:data"] value 3
    inst [1 or "afc_cluster:bin"] value 3

10.2.2. タイプ別にファイルシステムごとに存在する glock 構造の数を調べる

GFS2 glstats メトリックは、ystem の各ファイルに存在する各タイプの glock のカウントを提供します。これらの多くは、通常 inode (inode およびメタデータ) またはリソースグループ (リソースグループメタデータ) タイプのいずれかになります。

以下の pminfo コマンドは、マウントされた GFS2 ファイルシステムごとに各タイプの Glock 数のリストを表示します。

# pminfo -f gfs2.glstats

gfs2.glstats.total
    inst [0 or "afc_cluster:data"] value 43680
    inst [1 or "afc_cluster:bin"] value 2091

gfs2.glstats.trans
    inst [0 or "afc_cluster:data"] value 3
    inst [1 or "afc_cluster:bin"] value 3

gfs2.glstats.inode
    inst [0 or "afc_cluster:data"] value 17
    inst [1 or "afc_cluster:bin"] value 17

gfs2.glstats.rgrp
    inst [0 or "afc_cluster:data"] value 43642
    inst [1 or "afc_cluster:bin"] value 2053

gfs2.glstats.meta
    inst [0 or "afc_cluster:data"] value 1
    inst [1 or "afc_cluster:bin"] value 1

gfs2.glstats.iopen
    inst [0 or "afc_cluster:data"] value 16
    inst [1 or "afc_cluster:bin"] value 16

gfs2.glstats.flock
    inst [0 or "afc_cluster:data"] value 0
    inst [1 or "afc_cluster:bin"] value 0

gfs2.glstats.quota
    inst [0 or "afc_cluster:data"] value 0
    inst [1 or "afc_cluster:bin"] value 0

gfs2.glstats.journal
    inst [0 or "afc_cluster:data"] value 1
    inst [1 or "afc_cluster:bin"] value 1

10.2.3. 待機状態にある glock 構造の数の確認

最も重要なホルダーフラグは H (holder: は要求されたロックが許可されたことを示します) および W (wait: は要求が完了するのを待つ間に設定されます) です。このフラグは、許可されたロック要求と、キューに格納されたロック要求にそれぞれ設定されます。

以下の pminfo コマンドは、マウントされた各 GFS2 ファイルシステムの Wait (W) ホルダーフラグを持つ glock 数のリストを表示します。

# pminfo -f gfs2.holders.flags.wait

gfs2.holders.flags.wait
    inst [0 or "afc_cluster:data"] value 0
    inst [1 or "afc_cluster:bin"] value 0

リソースグループロックでキューに置かれている待機要求が多く表示され場合は、複数の理由が考えられます。1 つは、ファイルシステム内のリソースグループ数と比べ、多くのノードが存在するためです。または、ファイルシステムがほぼ満杯になっている可能性もあります (平均して、空きブロックの検索時間が長い場合があります)。どちらの場合も状況を改善するには、ストレージを追加し、gfs2_grow コマンドを使用してファイルシステムを拡張します。

10.2.4. カーネルトレースポイントベースのメトリックを使用したファイルシステム操作レイテンシーの確認

GFS2 PMDA は、GFS2 カーネルトレースポイントからメトリックの収集をサポートします。デフォルトでは、これらのメトリックの読み取りは無効になっています。これらのメトリックをアクティベートすると、メトリック値を設定するためにメトリックが収集されるときに、GFS2 カーネルトレースポイントが有効になります。これらのカーネルトレースポイントメトリックが有効になっていると、パフォーマンススループットに若干影響する可能性があります。

PCP は pmstore ツールを提供します。これにより、メトリック値に基づいて PMDA 設定が変更できます。gfs2.control.* メトリックを使用すると、GFS2 カーネルトレースポイントを集約できます。以下の例は、pmstore コマンドを使用して、GFS2 カーネルトレースポイントをすべて有効にします。

# pmstore gfs2.control.tracepoints.all 1
gfs2.control.tracepoints.all old value=0 new value=1

このコマンドは、debugfs ファイルシステム内のすべての GFS2 トレースポイントで PMDA スイッチを切り替えます。PCP における GFS2 で利用可能なメトリックの完全リスト のメトリックの完全リストの表で は、各制御トレースポイントとその使用方法について説明しています。また、各トレースポイントの効果や利用可能なオプションについては、pminfo のヘルプスイッチからも入手できます。

GFS2 のプロモートメトリックは、ファイルシステムでのプロモート要求の数をカウントします。これらのリクエストは、最初の試行時に発生したリクエスト数と、初回のプロモート要求後に付与されるその他によって分離されます。最初のプロモート数の減少とその他のプロモートの増加は、ファイル競合の問題を示している可能性があります。

昇格要求メトリックなどの GFS2 降格要求メトリックは、ファイルシステムで発生する降格要求の数をカウントします。ただし、これは、現在のノードからの要求と、システムの他のノードからの要求の間にも分割されます。リモートノードからの降格要求が多くなると、特定のリソースグループに対する 2 つのノード間の競合を示すことができます。

pminfo ツールは、利用可能なパフォーマンスメトリックに関する情報を表示します。この手順では、マウントされた各 GFS2 ファイルシステムに対して Wait (W) ホルダーフラグが付いた glock の数をリスト表示します。以下の pminfo コマンドは、マウントされた各 GFS2 ファイルシステムの Wait (W) ホルダーフラグを持つ glock 数のリストを表示します。

# pminfo -f gfs2.latency.grant.all gfs2.latency.demote.all

gfs2.latency.grant.all
    inst [0 or "afc_cluster:data"] value 0
    inst [1 or "afc_cluster:bin"] value 0

gfs2.latency.demote.all
    inst [0 or "afc_cluster:data"] value 0
    inst [1 or "afc_cluster:bin"] value 0

これらの値が通常の範囲と異なる場合にパフォーマンスの変化に気付くことができるように、ワークロードが問題なく実行されているときに観察される一般的な値を決定することは良い考えです。

たとえば、最初の試行で完了するのではなく、完了するのを待っているプロモートリクエスト数が変化するのに気付く場合があります。これは、次のコマンドの出力で判断できます。

# pminfo -f gfs2.latency.grant.all gfs2.latency.demote.all

gfs2.tracepoints.promote.other.null_lock
     inst [0 or "afc_cluster:data"] value 0
     inst [1 or "afc_cluster:bin"] value 0

gfs2.tracepoints.promote.other.concurrent_read
     inst [0 or "afc_cluster:data"] value 0
     inst [1 or "afc_cluster:bin"] value 0

gfs2.tracepoints.promote.other.concurrent_write
     inst [0 or "afc_cluster:data"] value 0
     inst [1 or "afc_cluster:bin"] value 0

gfs2.tracepoints.promote.other.protected_read
     inst [0 or "afc_cluster:data"] value 0
     inst [1 or "afc_cluster:bin"] value 0

gfs2.tracepoints.promote.other.protected_write
     inst [0 or "afc_cluster:data"] value 0
     inst [1 or "afc_cluster:bin"] value 0

gfs2.tracepoints.promote.other.exclusive
     inst [0 or "afc_cluster:data"] value 0
     inst [1 or "afc_cluster:bin"] value 0

次のコマンドの出力により、リモート降格リクエストの大幅な増加を特定できます (特に他のクラスターノードからの場合)。

# pminfo -f gfs2.tracepoints.demote_rq.requested

gfs2.tracepoints.demote_rq.requested.remote
     inst [0 or "afc_cluster:data"] value 0
     inst [1 or "afc_cluster:bin"] value 0

gfs2.tracepoints.demote_rq.requested.local
     inst [0 or "afc_cluster:data"] value 0
     inst [1 or "afc_cluster:bin"] value 0

以下のコマンドの出力は、ログフラッシュの予期せぬ増加を示しています。

# pminfo -f gfs2.tracepoints.log_flush.total]

gfs2.tracepoints.log_flush.total
     inst [0 or "afc_cluster:data"] value 0
     inst [1 or "afc_cluster:bin"] value 0
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.