On Fri, 2017-12-29 at 23:48 +0800, Li Wang wrote: > Dear all, > > I am running nvme/perf with master branch on a EC2 instance (Redhat, 8 CPU > cores). I noticed that the IOPS is around 1K when the queue depth is 1. By > simply increase the queue length to 2, the IOPS grows to over 60K. May I ask > if this is normal? Is this an EC2 dedicated server (i.e. physical hardware) or a virtual machine? Is the NVMe device you're connected to backed by a local NVMe device, a remote NVMe device, or an EBS volume? Amazon presents basically all storage as NVMe devices these days, but the actual backing storage can perform differently depending on the circumstances. In all cases I'm aware of, the NVMe device presented is not the actual NVMe SSD. It's either a virtual NVMe device emulated in software, or it's implemented on a special card that Amazon puts in between the platform and the real SSD. SPDK hasn't been tested thoroughly with Amazon's emulated NVMe devices, so there could be some issues there. Most NVMe devices historically were not validated against polled mode, ultra high performance drivers so when SPDK was first released we found a number of firmware bugs in existing SSDs that were only exposed because SPDK was so fast. We're seeing less and less of that now, but you could be hitting something like that here.