第26章 I/O およびファイルシステムパフォーマンスに影響を与える要因


ストレージおよびファイルシステムパフォーマンスに適した設定は、ストレージの目的より大きく左右されます。I/O およびファイルシステムのパフォーマンスは、さまざまな要因によって影響を受ける可能性があります。

以下は、I/O およびファイルシステムのパフォーマンスに影響を与える可能性のある要因のリストです。

  • データの書き込みまたは読み取りパターン
  • 順次または無作為
  • バッファーまたはダイレクト IO
  • 基礎となるジオメトリーとのデータ調整
  • ブロックサイズ
  • ファイルシステムのサイズ
  • ジャーナルサイズおよび場所
  • アクセス時間の記録
  • データの信頼性確保
  • 事前にフェッチするデータ
  • ディスク領域の事前割り当て
  • ファイルの断片化
  • リソースの競合

26.1. I/O およびファイルシステムの問題を監視および診断するツール

パフォーマンスメトリクスを追跡し、デバイスの負荷、レイテンシーを分析し、操作をトレースするツールを使用して、I/O およびファイルシステムの問題を効率的に監視および診断します。これらのツールは、Red Hat Enterprise Linux 10 環境におけるボトルネックを特定し、システムパフォーマンスを最適化するのに役立ちます。

Red Hat Enterprise Linux 10 には、システムのパフォーマンスを監視し、I/O およびファイルシステムに関連するパフォーマンスの問題を診断するための以下のツールが用意されています。

  • vmstat ツールは、システム全体のプロセス、メモリー、ページング、ブロック I/O、割り込み、および CPU アクティビティーに関する報告を行います。管理者はこのツールを使用することで、パフォーマンスの問題が I/O サブシステムによるものかを判断しやすくなります。vmstat 分析の結果、I/O サブシステムがパフォーマンス低下の原因であることが判明した場合、管理者は iostat を 使用して原因となっている I/O デバイスを特定できます。
  • iostat は、システムでの I/O デバイスの負荷を報告します。このツールは sysstat パッケージで提供されます。
  • blktrace は、I/O サブシステムでの時間の使用に関する詳細にわたる情報を提供します。付属ユーティリティーである blkparse はblktrace からの生の出力を読み取り、記録された入出力操作の人間が読みやすい要約を生成します。
  • btt はblktrace の 出力を分析し、データが I/O スタックの各領域で費やした時間を表示します。これにより、I/O サブシステムにおけるボトルネックを容易に特定できるようになります。このユーティリティーは、blktrace パッケージの一部として提供されます。blktrace メカニズムで追跡され、btt が分析する重要なイベントには、以下のようなものがあります。

    • I/O イベント (Q) のキュー
    • ドライバーイベント (D) への I/O のディスパッチ
    • I/O イベントの完了 (C)
  • iowatcherblktrace 出力を使用して、I/O を経時的にグラフ化できます。これは、ディスク I/O の論理ブロックアドレス (LBA)、スループット、1 秒あたりのシーク回数、および 1 秒あたりの I/O 操作に焦点を当てています。これを使用することで、デバイスの演算回数の上限に到達するタイミングを判断しやすくなります。
  • BPF コンパイラーコレクション (BCC) は、eBPF (extended Berkeley Packet Filter) プログラムの作成を容易にするライブラリーです。eBPF プログラムは、ディスク I/O、TCP 接続、プロセス作成などのイベントでトリガーされます。

    BCC ツールは、/usr/share/bcc/tools/ ディレクトリーにインストールされます。以下の bcc-tools は、パフォーマンスの分析に役立ちます。

    • biolatency は、ブロックデバイス I/O(ディスク I/O) のレイテンシーをヒストグラムにまとめています。これにより、デバイスのキャッシュヒット、キャッシュミス、レイテンシーアウトライナーの 2 つのモードなど、分散を調査できます。
    • biosnoop は、各 I/O イベントを、発行元のプロセス ID と I/O レイテンシーとともに表示する基本的なブロック I/O トレースツールです。このツールを使用して、ディスク I/O パフォーマンスの問題を調査できます。
    • biotop は、カーネルのブロック I/O 操作に使用します。
    • filelife ツールは、stat() システムコールを追跡します。
    • fileslower は、読み取りと書き込みが遅い同期ファイルを追跡します。
    • filetop は、プロセスによるファイルの読み取りと書き込みを表示します。
    • ext4slowernfsslower および xfsslower は、特定のしきい値よりも操作速度の遅いファイルを表示するツールです (デフォルト値 10ms)。
  • bpftace は、パフォーマンスの問題の分析に使用される eBPF のトレース言語です。また、システムの監査用に BCC のような追跡ユーティリティーが含まれており、I/O のパフォーマンスの問題を調査するのに役立ちます。
  • 以下の SystemTap スクリプトは、ストレージまたはファイルシステムのパフォーマンスの問題の診断に役立ちます。

    • disktop.stp: 5 秒ごとにディスクの読み取りまたは書き込みのステータスを確認し、その期間の上位 10 エントリーを出力します。
    • iotime.stp: 読み取り、書き込み操作に使用した時間、読み取りおよび書き込みバイト数を出力します。
    • traceio.stp: 確認された累積 I/O トラフィックに基づいて上位 10 の実行可能ファイルを秒単位で出力します。
    • traceio2.stp: 指定したデバイスに読み取りおよび書き込みが行われると、実行可能ファイル名とプロセス識別子を出力します。
    • Inodewatch.stp: 指定されたデバイス上の指定された inode に対して読み取りまたは書き込みが発生するたびに、実行可能ファイル名とプロセス識別子を出力します。
    • inodewatch2.stp: 指定された inode の属性が変更されるたびに、実行可能ファイル名、プロセス識別子、および属性を出力します。

詳細は以下を参照してください。

  • システム上の vmstat(8)iostat(1)blktrace(8)blkparse(1)btt(1)bpftrace、および iowatcher(1) man ページ
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る