ローカルSSDを搭載したi4pパフォーマンス強化インスタンスファミリーは、第2世代Intelベースの超高性能ローカルディスクを提供します。®Optane永続メモリ。 このトピックでは、IOPS、スループット、レイテンシなどのローカルディスクのパフォーマンスメトリックをi4pインスタンスでテストする方法について説明します。
i4pインスタンスファミリーの詳細については、「ローカルSSDを使用したインスタンスファミリー」トピックのi4p、パフォーマンス強化型インスタンスファミリーをご参照ください。
テスト条件
テストツール: フレキシブルI/Oテスター (fio) 。
説明fioはオープンソースの強力なI/Oパフォーマンスベンチマークツールで、ランダムな読み書き操作やシーケンシャルな読み書き操作など、ブロックストレージデバイスのパフォーマンス指標をテストできます。
インスタンスタイプ: i4pインスタンスタイプ。 i4pインスタンスタイプのインスタンスを使用し、インスタンス上のローカルディスクを初期化します。 ローカルディスクの初期化方法については、「永続メモリの使用モードの設定」トピックの「永続メモリをローカルディスクとして設定する」セクションをご参照ください。
イメージ: Alibaba Cloudが提供する最新バージョンのLinuxパブリックイメージを使用します。 この例では、Alibaba Cloud Linux 3が使用されています。
説明テスト結果によると、ESSDは特定のLinuxディストリビューションイメージで期待されるIOPSパフォーマンスを達成できない可能性があります。 Alibaba Cloudによって管理されているAlibaba Cloud Linux 3イメージを使用することを推奨します。
手順
ECS インスタンスに接続します。
詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。
次のコマンドを実行してfioをインストールします。
sudo yum install -y ndctl daxctl ipmctl libpmem librpmem libpmemblk libpmemlog libpmemobj libpmempool pmempool fio
コマンドを実行して、ローカルディスクのパフォーマンスをテストします。
テストIOPS
ローカルディスクのシーケンシャル読み取りIOPSのテスト
sudo fio --name=test --directory=/mnt/sdb --ioengine=libpmem --direct=1 --thread=8 --numjobs=8 --iodepth=1 --rw=read --bs=4k --size=8GB --norandommap=1 --randrepeat=0 --invalidate=1 --iodepth_batch=1 --sync=1 --scramble_buffers=0 --numa_cpu_nodes=0 --numa_mem_policy=bind:0 --cpus_allowed_policy=split
ローカルディスクのシーケンシャル書き込みIOPSのテスト
sudo fio --name=test --directory=/mnt/sdb --ioengine=libpmem --direct=1 --thread=8 --numjobs=8 --iodepth=1 --rw=write --bs=4k --size=1GB --norandommap=1 --randrepeat=0 --invalidate=1 --iodepth_batch=1 --sync=1 --scramble_buffers=0 --numa_cpu_nodes=0 --numa_mem_policy=bind:0 --cpus_allowed_policy=split
ローカルディスクのランダム読み取りIOPSのテスト
sudo fio --name=test --directory=/mnt/sdb --ioengine=libpmem --direct=1 --thread=8 --numjobs=8 --iodepth=1 --rw=randread --bs=4k --size=8GB --norandommap=1 --randrepeat=0 --invalidate=1 --iodepth_batch=1 --sync=1 --scramble_buffers=0 --numa_cpu_nodes=0 --numa_mem_policy=bind:0 --cpus_allowed_policy=split
ローカルディスクのランダム書き込みIOPSのテスト
sudo fio --name=test --directory=/mnt/sdb --ioengine=libpmem --direct=1 --thread=8 --numjobs=8 --iodepth=1 --rw=randwrite --bs=4k --size=1GB --norandommap=1 --randrepeat=0 --invalidate=1 --iodepth_batch=1 --sync=1 --scramble_buffers=0 --numa_cpu_nodes=0 --numa_mem_policy=bind:0 --cpus_allowed_policy=split
テストスループット
ローカルディスクのシーケンシャル読み取りスループットのテスト
sudo fio --name=test --directory=/mnt/sdb --ioengine=libpmem --direct=1 --thread=8 --numjobs=96 --iodepth=1 --rw=read --bs=64k --size=1GB --norandommap=1 --randrepeat=0 --invalidate=1 --iodepth_batch=1 --sync=1 --scramble_buffers=0 --numa_cpu_nodes=0 --numa_mem_policy=bind:0 --cpus_allowed_policy=split
ローカルディスクのシーケンシャル書き込みスループットのテスト
sudo fio --name=test --directory=/mnt/sdb --ioengine=libpmem --direct=1 --thread=1 --numjobs=8 --iodepth=1 --rw=write --bs=64k --size=1GB --norandommap=1 --randrepeat=0 --invalidate=1 --iodepth_batch=1 --sync=1 --scramble_buffers=0 --numa_cpu_nodes=0 --numa_mem_policy=bind:0 --cpus_allowed_policy=split
ローカルディスクのランダム読み取りスループットのテスト
sudo fio --name=test --directory=/mnt/sdb --ioengine=libpmem --direct=1 --thread=8 --numjobs=96 --iodepth=1 --rw=randread --bs=64k --size=1GB --norandommap=1 --randrepeat=0 --invalidate=1 --iodepth_batch=1 --sync=1 --scramble_buffers=0 --numa_cpu_nodes=0 --numa_mem_policy=bind:0 --cpus_allowed_policy=split
ローカルディスクのランダム書き込みスループットのテスト
sudo fio --name=test --directory=/mnt/sdb --ioengine=libpmem --direct=1 --thread=8 --numjobs=96 --iodepth=1 --rw=randwrite --bs=64k --size=1GB --norandommap=1 --randrepeat=0 --invalidate=1 --iodepth_batch=1 --sync=1 --scramble_buffers=0 --numa_cpu_nodes=0 --numa_mem_policy=bind:0 --cpus_allowed_policy=split
テストの待ち時間
ローカルディスクのシーケンシャル読み取りレイテンシのテスト
sudo fio --name=test --directory=/mnt/sdb --ioengine=libpmem --direct=1 --thread=1 --numjobs=1 --iodepth=1 --rw=read --bs=4k --size=8GB --norandommap=1 --randrepeat=0 --invalidate=1 --iodepth_batch=1 --sync=1 --scramble_buffers=0 --numa_cpu_nodes=0 --numa_mem_policy=bind:0 --cpus_allowed_policy=split
ローカルディスクのシーケンシャル書き込みレイテンシのテスト
sudo fio --name=test --directory=/mnt/sdb --ioengine=libpmem --direct=1 --thread=1 --numjobs=1 --iodepth=1 --rw=write --bs=4k --size=8GB --norandommap=1 --randrepeat=0 --invalidate=1 --iodepth_batch=1 --sync=1 --scramble_buffers=0 --numa_cpu_nodes=0 --numa_mem_policy=bind:0 --cpus_allowed_policy=split