AWS Ubuntu 1604のfioでディスクマージを有効にする方法は?

AWS Ubuntu 1604のfioでディスクマージを有効にする方法は?

エンジンをUbuntu 1604使用してVMで実行されています。fio-2.1.10libaioAWS

対応するIOスケジューラは " none"です。 (おそらく「」を使用しているようですnoop)。

そしてディスクはnomergeです0。これはマージが有効になったことを意味します。

しかし、、実行するとfio次のことがわかります。マージは発生しませんでした。(fio 結果を見る:) merge=0/0

Amazon Linux 2016.09VM AWS(同じVMタイプと同じディスク構成)で同じ設定と同じfioコマンドを実行し、マージが発生しました。

それでは、この設定の違いが何であるかを教えてくださいUbuntu 1604Amazon LinuxUbuntu VMでこのマージを有効にする方法は?

root@ip-10-0-96-236:~# cat /sys/block/xvdb/queue/nomerges
0

root@ip-10-0-96-236:~# cat /sys/block/xvdb/queue/scheduler
none


root@ip-10-0-96-236:/mnt# /home/ubuntu/fio-2.1.10/fio --name=read --bs=4k --ioengine=libaio --iodepth=128 --size=16G --direct=1 --runtime=12000 --numjobs=8 --rw=read --group_reporting
read: (g=0): rw=read, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=128
...
fio-2.1.10
Starting 8 processes
... ...
... ...

Disk stats (read/write):
  xvdb: ios=1240654/0, merge=0/0, ticks=1842300/0, in_queue=1844664, util=99.98%

注:上記のログを参照してください。マージは0(マージ= 0/0)です。 iostatはマージが発生していないと報告します。

答え1

デバイスが複数のキューにある可能性があるため、実際にはioschedulerはありません。デバイスが速すぎて直接リクエストをマージする時間がない可能性があります。同様の問題が調査されているhttps://lists.gt.net/xen/devel/394204#394204ユーザーは、完了時間が十分に長い場合にのみマージが発生することを発見しました。リクエスト待ち時間を下げるのはUbuntuの設定ですか?

(Ubuntuのfioはかなり古いです)

関連情報