すべてのプロダクト
Search
ドキュメントセンター

Cloud Parallel File Storage:CPFS ファイルシステムのパフォーマンスをテストする

最終更新日:Nov 10, 2025

このトピックでは、fio ツールを使用して、スループットや 1 秒あたりの I/O 操作 (IOPS) など、Cloud Parallel File Storage (CPFS) ファイルシステムのパフォーマンスをテストする方法について説明します。

前提条件

  • テスト用の CPFS ファイルシステムが作成され、Elastic Compute Service (ECS) インスタンスにマウントされていること。

  • テスト用の ECS インスタンスに十分な CPU コアと内部帯域幅があること。 CPU コアの数は 8 以上である必要があります。

背景情報

パフォーマンステストの結果はテストツールによって異なり、実際のパフォーマンスを反映することはできません。 fio を使用して CPFS ファイルシステムのパフォーマンスをテストすることを推奨します。 このトピックのパフォーマンス結果は、fio を使用して Linux ECS インスタンスで実行されたテストから得られたものです。 これらの結果は、CPFS ファイルシステムのパフォーマンスリファレンスとして使用されます。

手順

  1. ECS インスタンスに接続します。 詳細については、接続方法の概要」をご参照ください。

  2. fio ツールをインストールします。 fio ツールがインストールされている場合は、このステップをスキップしてパフォーマンステストコマンドを実行してください。

    オペレーティングシステム

    インストールコマンド

    CentOS

    sudo yum install fio

    Red Hat Enterprise Linux (RHEL)

    Alibaba Cloud Linux

    Ubuntu

    次のコマンドを順番に実行します:

    1. sudo apt-get  update
    2. sudo apt-get install fio

    Debian

  3. パフォーマンステストコマンドを実行します。

    • ランダム書き込み IOPS をテストするために使用されるコマンド:

      fio -direct=1 -ioengine=libaio -iodepth=1 -rw=randwrite -bs=4k -size=1G -numjobs=256 -runtime=600 -time_based=1 -group_reporting -directory="/mnt/cpfs/test" -name=Rand_Write_Testing
    • ランダム読み取り IOPS をテストするために使用されるコマンド:

      fio -direct=1 -ioengine=libaio -iodepth=1 -rw=randread -bs=4k -size=1G -numjobs=256 -runtime=600 -time_based=1 -group_reporting -directory="/mnt/cpfs/test" -name=Rand_Read_Testing
    • シーケンシャル書き込みスループットをテストするために使用されるコマンド:

      fio -direct=1 -ioengine=libaio -iodepth=1 -rw=write -bs=1m -size=1G -numjobs=256 -runtime=600 -time_based=1 -group_reporting -directory="/mnt/cpfs/test" -name=Seq_Write_Testing
    • シーケンシャル読み取りスループットをテストするために使用されるコマンド:

      fio -direct=1 -ioengine=libaio -iodepth=1 -rw=read -bs=1m -size=1G -numjobs=256 -runtime=600 -time_based=1 -group_reporting -directory="/mnt/cpfs/test" -name=Seq_Read_Testing
    • ランダム書き込みスループットをテストするために使用されるコマンド:

      fio -direct=1 -ioengine=libaio -iodepth=1 -rw=randwrite -bs=1m -size=1G -numjobs=256 -runtime=600 -time_based=1 -group_reporting -directory="/mnt/cpfs/test" -name=Rand_Write_Testing
    • ランダム読み取りスループットをテストするために使用されるコマンド:

      fio -direct=1 -ioengine=libaio -iodepth=1 -rw=randread -bs=1m -size=1G -numjobs=256 -runtime=600 -time_based=1 -group_reporting -directory="/mnt/cpfs/test" -name=Rand_Read_Testing

fio パラメーターの説明

次の表に、上記の fio コマンドのパラメーターを示します。

パラメーター

説明

direct

ダイレクト I/O を使用するかどうかを指定します。 デフォルト値: 1。 有効値:

  • 1: ダイレクト I/O を使用し、I/O バッファーを無視して、データを直接書き込みます。

  • 0: ダイレクト I/O を使用せず、I/O バッファーを無視するか、データを直接書き込みます。

iodepth

テスト中の I/O キューの深さ。 たとえば、-iodepth=1 は、fio コントロールリクエスト内の I/O 操作の最大数が 1 であることを示します。

rw

テスト中に使用される読み取り/書き込みポリシー。 有効値:

  • randwrite: ランダム書き込み

  • randread: ランダム読み取り

  • read: シーケンシャル読み取り

  • write: シーケンシャル書き込み

  • randrw: ランダム読み取りおよび書き込み

ioengine

fio がテストに使用する I/O エンジン。 ほとんどの場合、libaio が使用されます。 利用可能な他の I/O エンジンの詳細については、fio のドキュメントをご参照ください。

bs

I/O ユニットのブロックサイズ。 デフォルト値: 4k (4 KiB を示します)。 読み取りと書き込みの値は、<読み取りの値>,<書き込みの値> のフォーマットで指定できます。 値を指定しない場合、デフォルト値が使用されます。

size

テストファイルのサイズ。

fio は、runtime などの特定の要因によって制限されない限り、指定されたサイズのファイルの読み取りまたは書き込みが完了した後にのみテストを終了します。 このパラメーターが指定されていない場合、fio は指定されたすべてのファイルまたはデバイスのサイズを使用します。 有効値は、1% から 100% の範囲のパーセント値にすることもできます。 たとえば、size パラメーターが 20% に設定されている場合、fio は指定されたすべてのファイルまたはデバイスのサイズの 20% を使用します。

numjobs

テスト中に使用される同時スレッドの数。 この例では、値は 256 です。

runtime

テストの期間。fio が実行される時間を示します。

このパラメーターが指定されていない場合、テストは size パラメーターで指定されたサイズのファイルが bs パラメーターで指定されたブロックサイズで読み取りまたは書き込みされるまで終了しません。

group_reporting

テスト結果の表示モード。

このパラメーターを指定すると、タスクごとの統計ではなく、プロセスごとの統計が表示されます。

directory

テスト対象のファイルシステムのマウントパス。 この例では、値は /mnt/cpfs/test です。 パスを実際のパスに置き換えてください。

name

テストの名前。 必要に応じてパラメーターを指定できます。 例: Rand_Write_Testing

パラメーターの詳細については、「fio(1) - Linux man page」をご参照ください。