現在、SSD への読み取り/書き込みスループットをテストしようとしています。これらの SSD は、NVMe プロトコルを介して読み取り/書き込みされます。現在、2 つの方法を見たため混乱しています。
1 つ目は、NVMe デバイス ファイルにデータ ブロックを直接書き込み、ドライバーがこの操作を完了するまでにかかる時間を記録することです。
2 つ目は、SSD のパーティションにファイル システムをマウントし、同じ操作 (パーティションにマウントされたファイル システム内のファイルに書き込み、時間を記録する) を実行することです。
実際には内部で何が起こっているのでしょうか? どちらの方がスループットに関してより本物の結果をもたらすのでしょうか?
答え1
ブロック デバイスへの読み取りと書き込みはキャッシュされません。ファイル システムへのアクセスにはページ キャッシュが関係しており、これは SSD よりもはるかに高速です。そのため、測定方法についてはより慎重に検討する必要があります。
システムを使用する場合は、ファイルシステムとページ キャッシュを使用します。したがって、これらはおそらくより関連性の高い結果です。ファイルシステムを使用する場合、パフォーマンスの違いは小さくなると想定しています。