Linux(Ubuntu 14.04)でNVMeカードを使用しています。デフォルトのセクター サイズ (512) の xfs ファイル システムでフォーマットすると、Intel NVMe カードのパフォーマンスが低下することがわかりました。または 4096 未満のその他のセクター サイズ。
実験では、カードをデフォルトのオプションで xfs ファイルシステムでフォーマットしました。ページサイズが64kのarm64プラットフォームで、ブロックサイズが64kのfioを実行してみました。これは使用されるコマンドです
fio --rw=randread --bs=64k --ioengine=libaio --iodepth=8 --direct=1 --group_reporting --name=Write_64k_1 --numjobs=1 --runtime=120 --filename=new --size=20G
以下の値しか取得できませんでした
実行ステータス グループ 0 (すべてのジョブ): READ: io=20480MB, aggrb=281670KB/s , minb=281670KB/s, maxb=281670KB/s, mint=744454msec, maxt=74454msec ディスク統計 (読み取り/書き込み): nvme0n1: ios=326821/8、merge=0/0、ティック=582640/0、in_queue=582370、util=99.93%
次のようにフォーマットしてみました。
mkfs.xfs -f -s size=4096 /dev/nvme0n1
値は次のとおりです。
実行ステータス グループ 0 (すべてのジョブ): READ: io=20480MB, aggrb=781149KB/s , minb=781149KB/s, maxb=781149KB/s, mint=266 847msec, maxt=26847msec ディスク統計 (読み取り/書き込み): nvme0n1 : ios=326748/7, merge=0/0, ticks=200270/0, in_queue=200350, util=99.51%
で使用してもパフォーマンスの低下は見られません
- 4k ページサイズ
- 64k 未満の任意の fio ブロック サイズ
- デフォルト設定の ext4 fs を使用
問題は何ですか?これはアライメントの問題ですか?ここで何が欠けていますか?どんな助けでも大歓迎