+114
−19
Loading
Allow using all base devices for reads instead of only the first one.
Keep track of the number of outstanding read blocks for every base bdev
and choose the least busy when handling a read I/O.
Here are some performance results. The tests were performed using fio on
2 and 3 drive (Intel P4510 2TB) arrays. Random reads, 1 thread, qd=128,
each run was 1 minute.
WITHOUT read balancing:
n=2 bs=4k : IOPS=804k, BW=3141MiB/s
n=3 bs=4k : IOPS=804k, BW=3140MiB/s
n=2 bsrange=4k-1M : IOPS=6421, BW=3223MiB/s
n=3 bsrange=4k-1M : IOPS=6416, BW=3222MiB/s
WITH read balancing:
n=2 bs=4k : IOPS=1291k, BW=5043MiB/s
n=3 bs=4k : IOPS=1572k, BW=6140MiB/s
n=2 bsrange=4k-1M : IOPS=12.2k, BW=6148MiB/s
n=3 bsrange=4k-1M : IOPS=18.0k, BW=9058MiB/s
Change-Id: I7d85411a6421bd7352031efb562ee95f2c612011
Signed-off-by:
Krzysztof Smolinski <krzysztof.smolinski@intel.com>
Signed-off-by:
Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15271
Community-CI: Mellanox Build Bot
Reviewed-by:
Jim Harris <jim.harris@samsung.com>
Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by:
Konrad Sztyber <konrad.sztyber@intel.com>