第24章 パフォーマンス
以下の章では、パフォーマンスに関する RHEL 8 と RHEL 9 の間の最も重要な変更点を説明します。
24.1. パフォーマンスに特筆すべき変更
Performance Co-Pilot がバージョン 6.0 にリベースされました。
RHEL 9.2 以降、Performance Co-Pilot (PCP
) はバージョン 6.0 に更新されました。以下は、主な改善点です。
バージョン 3 PCP アーカイブのサポート:
これには、ドメイン変更デルタ、2038 年対応タイムスタンプ、ナノ秒精度のタイムスタンプ、任意のタイムゾーンのサポート、およびより大きな (2GB を超える) 個々のボリューム全体で使用される 64 ビットファイルオフセットのサポートが含まれます。
この機能は現在、
/etc/pcp.conf
ファイルのPCP_ARCHIVE_VERSION
設定によってオプトインされています。バージョン 2 アーカイブはデフォルトのままです。
PCP 全体では OpenSSL のみが使用されます。Mozilla NSS/NSPR の使用は廃止されました。
これは、
libpcp
、PMAPI
クライアント、およびPMCD
の暗号化の使用に影響します。これらの要素は、すでに OpenSSL を使用していたpmproxy
HTTPS サポートおよびredis-server
と一貫して設定および使用されるようになりました。新しいナノ秒精度のタイムスタンプ
PMAPI
は、タイムスタンプを利用するPCP
ライブラリーインターフェイスを呼び出します。これらはすべてオプションであり、既存のツールに対して完全な下位互換性が維持されます。
次のツールとサービスが更新されました。
pcp2elasticsearch
- 認証サポートを実装しました。
pcp-dstat
-
top-alike
プラグインのサポートを実装しました。 pcp-htop
- 最新の安定したアップストリームリリースに更新されました。
pmseries
-
sum
、avg
、stdev
、nth_percentile
、max_inst
、max_sample
、min_inst
、min_sample
関数が追加されました。 pmdabpf
- CO-RE (Compile Once - Run Everywhere) モジュールと、AMD64、Intel 64 ビット、64 ビット ARM、および IBM Power Systems のサポートが追加されました。
pmdabpftrace
-
自動起動スクリプトの例を
/usr/share
ディレクトリーに移動しました。 pmdadenki
- 複数のアクティブなバッテリーのサポートが追加されました。
pmdalinux
-
最新の
/proc/net/netstat
変更の更新。 pmdaopenvswitch
- インターフェイスとカバレッジ統計を追加しました。
pmproxy
- リクエストパラメーターをリクエスト本文で送信できるようになりました。
pmieconf
-
Open vSwitch メトリック用の複数の
pmie
ルールを追加しました。 pmlogger_farm
- ファームロガーのデフォルト設定ファイルを追加しました。
pmlogger_daily_report
- いくつかの大幅な効率改善。
RHEL 9 以降、sysstat
が提供する sadf(1)
ツールは、ネイティブの sadc(1)
アーカイブから PCP アーカイブを生成できます。
デフォルトでは、-
フラグが sadc(1)
とともに使用されると、sadc(1)
はそのデータを標準のシステムアクティビティーの日次データファイルに書き込みます。このファイルの名前は saDD
で、デフォルトで /var/log/sa
ディレクトリーにあります。逆に、入力データファイルが指定されていない場合、sadf(1)
ツールは標準のシステムアクティビティーの日次データファイルを使用してアーカイブを生成します。指定した日数だけ過去に記録したデータからアーカイブを生成するように sadf(1)
に指示を出す引数として数値を渡します。
2 日前に記録した
sadc(1)
アーカイブから PCP アーカイブを生成する場合は、次のコマンドを実行します。# sadf -l -O pcparchive=/tmp/recording -2
sadc(1)
アーカイブから生成された PCP アーカイブのメトリックのリストを表示するには、次のコマンドを実行します。$ pminfo --archive /tmp/recording Disk.dev.avactive Disk.dev.read Disk.dev.write Disk.dev.blkread [...]
sadc(1)
アーカイブから生成された PCP アーカイブのタイムスペースとホスト名を表示するには、以下を行います。$ pmdumplog --label /tmp/recording Log Label (Log Format Version 2) Performance metrics from host shard commencing Tue Jul 20 00:10:30.642477 2021 ending Wed Jul 21 00:10:30.222176 2021
その後、PCP コマンドを使用して、
sadc(1)
アーカイブから生成された PCP アーカイブを分析できます。以下に例を示します。$ pmchart --archive /tmp/recording
新しい PCPPMDA: pmdabpf
RHEL 9 は、pmdabpf
Performance Co-Pilot (PCP) Performance Metric Domain Agent (PMDA) を提供する pcp-pmda-bpf
パッケージを含めて配布されます。
pmdabpf
PMDA は、libbpf
と BTF
である BPF CO-RE
(Compile Once-Run Everywhere) を利用して eBPF
プログラムからライブパフォーマンスデータを抽出します。