From 36f9d416a1828c9e95d040695c7a630268c06218 Mon Sep 17 00:00:00 2001 From: Ziye Yang Date: Fri, 22 Sep 2017 06:56:58 +0800 Subject: [PATCH] fio_plugin: update the README Describe the phenoemon for peformance difference between fio + spdk plugin and spdk nvme perf on multiple NVMe SSDs while both using single cpu core. Change-Id: I80c2cfd51cd1d8ec28a11a1a8653469cfc3335eb Signed-off-by: Ziye Yang Reviewed-on: https://review.gerrithub.io/379573 Tested-by: SPDK Automated Test System Reviewed-by: Paul Luse Reviewed-by: GangCao Reviewed-by: Daniel Verkamp --- examples/nvme/fio_plugin/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/examples/nvme/fio_plugin/README.md b/examples/nvme/fio_plugin/README.md index a75a3cca0..1103e6720 100644 --- a/examples/nvme/fio_plugin/README.md +++ b/examples/nvme/fio_plugin/README.md @@ -70,3 +70,11 @@ engine's full path via the ioengine parameter - LD_PRELOAD is recommended to avo When testing random workloads, it is recommended to set norandommap=1. fio's random map processing consumes extra CPU cycles which will degrade performance over time with the fio_plugin since all I/O are submitted and completed on a single CPU core. + +When testing FIO on multiple NVMe SSDs with SPDK plugin, it is recommended to use multiple jobs in FIO configurion. +It has been observed that there are some performance gap between FIO(with SPDK plugin enabled) and SPDK perf +(examples/nvme/perf/perf) on testing multiple NVMe SSDs. If you use one job(i.e., use one CPU core) configured for +FIO test, the performance is worse than SPDK perf (also using one CPU core) against many NVMe SSDs. But if you use +multiple jobs for FIO test, the performance of FIO is similiar with SPDK perf. After analyzing this phenomenon, we +think that is caused by the FIO architecture. Mainly FIO can scale with multiple threads (i.e., using CPU cores), +but it is not good to use one thread against many I/O devices.