SSD(おそらく暗号化されたファイルシステムを使用)をベンチマークし、それをWindowsのCrystaldiskmarkによって実行されたベンチマークと比較したいと思います。
それでは、クリスタルディスクマークとほぼ同じものをどのように測定できますか?
最初の行(Seq)に対して次のことができると思いました。
LC_ALL=C dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc
sudo su -c "echo 3 > /proc/sys/vm/drop_caches"
LC_ALL=C dd if=tempfile of=/dev/null bs=1M count=1024
しかし、パラメータについてはわかりませんdd
。
ランダム512KB、4KB、4KB(キュー深度= 32)読み取り/書き込み速度テストでは、Linuxで測定結果を再現する方法がわかりません。ではどうすればいいですか?
インストールのようなものをベンチマークしたいので、読み取り速度のようなものをテストすることはsudo hdparm -Tt /dev/sda
意味がないようですencfs
。
編集する
@アルコ、@iain
おそらく、この質問に対するいくつかの動機を書く必要があるようです。 SSDをベンチマークし、いくつかの暗号化ソリューションを比較したいと思います。しかし、それはもう一つの質問です(私のシステムでさまざまな暗号化ソリューションをベンチマークするための最良の方法)。 SSDとベンチマークに関する情報を見つけるためにWebを閲覧しながら、ユーザーはCrystalDiskMarkの結果をフォーラムに投稿することがよくあります。これがまさにこの質問の唯一の動機です。私はLinuxでも同じことをしたいです。私の特定のベンチマークについては、私の他の質問をご覧ください。
ベストアンサー1
私が言うことペオこのようなワークロードの作成に問題はありません。名前にもかかわらず、CrystalDiskMarkは実際には特定のディスク上のファイルシステムのベンチマークテストであるため、ディスクのみのraw I / Oを実行できません。したがって、常にファイルシステムのオーバーヘッドが発生します(必ずしも悪いわけではありませんが、注意すべき点、たとえば比較されるファイルシステムが同じではない可能性があるため)。
上記のスクリーンショットの出力をコピーし、次の情報で補完した例です。CrystalDiskMark マニュアル(完全ではありませんが、一般的なアイデアを提供する必要があります):
fio --loops=5 --size=1000m --filename=/mnt/fs/fiotest.tmp --stonewall --ioengine=libaio --direct=1 \
--name=Seqread --bs=1m --rw=read \
--name=Seqwrite --bs=1m --rw=write \
--name=512Kread --bs=512k --rw=randread \
--name=512Kwrite --bs=512k --rw=randwrite \
--name=4kQD32read --bs=4k --iodepth=32 --rw=randread \
--name=4kQD32write --bs=4k --iodepth=32 --rw=randwrite
rm -f /mnt/fs/fiotest.tmp
注意してください- この例永久的なデータが破壊されています/mnt/fs/fiotest.tmp
!
fioパラメータのリストは次のとおりです。http://fio.readthedocs.io/en/latest/fio_doc.html。