`hdparm -t` が EC2 インスタンスで正確な結果を生成するのになぜ時間がかかるのでしょうか?

`hdparm -t` が EC2 インスタンスで正確な結果を生成するのになぜ時間がかかるのでしょうか?

自分で作成したデータ処理プログラムをプロファイリングしており、使用しているマシンの理論上のスループットを把握したいと考えています。具体的には、g4dn EC2 インスタンスがアプリケーションに提供しているディスク読み取り速度を測定したいと考えています。この特定のインスタンスには一時的な NVMe ドライブがあり、これをベンチマークしたいと考えています。

報告されるスループットの増加が止まるまで、 を数回実行する必要があることに気付きましたhdparm。質問ですが、hdparm完全な読み取りスループットを得るにはなぜ複数回実行する必要があるのでしょうか。Linux カーネル、ディスク ドライバー、ドライブ コントローラー、実際のハードウェアの何が、hdparm正確な結果を得るために を複数回実行する必要があるのでしょうか。

マニュアルページには数回実行するように書いてありますが、私の経験では、スループットが最大になるまでに推奨されている 3 回よりもはるかに多くの時間がかかります。

-t     Perform timings of device reads for benchmark and
       comparison purposes.  For meaningful results, this
       operation should be repeated 2-3 times on an otherwise
       inactive system (no other active processes) with at least
       a couple of megabytes of free memory.  This displays the
       speed of reading through the buffer cache to the disk
       without any prior caching of data.  This measurement is an
       indication of how fast the drive can sustain sequential
       data reads under Linux, without any filesystem overhead.
       To ensure accurate measurements, the buffer cache is
       flushed during the processing of -t using the BLKFLSBUF
       ioctl.

読み取り速度を収集するには、以下を実行します。

#!/usr/bin/env bash
while true; do
   sudo hdparm -t /dev/nvme0n1p1;
   sleep 1;
done

次のような出力が得られます。

$ while true; do sudo hdparm -t /dev/nvme0n1p1; sleep 1; done

/dev/nvme0n1p1:
 Timing buffered disk reads: 470 MB in  3.09 seconds = 152.30 MB/sec

/dev/nvme0n1p1:
 Timing buffered disk reads: 490 MB in  3.10 seconds = 158.21 MB/sec

/dev/nvme0n1p1:
 Timing buffered disk reads: 526 MB in  3.02 seconds = 174.43 MB/sec

330MB/秒程度に落ち着くまでには、おそらく 20 回の実行が必要です。

正しい NVMe ドライバーを備えた AMI を使用していることに注意してください。

答え1

一部の EC2 インスタンスでデフォルトで使用できるローカル nvme ドライブはすぐに使用できる状態ではなく、「すぐに使用できる」nvme デバイスは実際には nvme ドライブとしてマウントされた EBS ボリュームであることが判明しました。これにより、スループットが低く (300 MB/秒)、ウォームアップ時間が長くなります (20 回実行)。

参考までに、私が初めてhdparmドライブをフォーマットしてマウントしたとき、 1.7GB/秒のシーケンシャル読み取り速度が得られました。本物nvme ドライブ。 から表示されますlsblk

関連情報