$linuxjunkies
>

queue depth

also: QD, command queue depth, outstanding I/O

Queue depth is the maximum number of I/O operations (read/write requests) that can be pending simultaneously on a storage device or network interface. It determines how many commands a device can accept before the system must wait for some to complete.

Queue depth controls the throughput and latency characteristics of storage and network subsystems. A higher queue depth allows more requests to be in-flight at once, which can improve overall throughput by keeping the device busy, but may increase latency for individual requests. A lower queue depth reduces latency but may underutilize fast devices.

For example, an NVMe SSD might support a queue depth of 32, meaning up to 32 read/write commands can be submitted before waiting for responses. A storage controller or HBA (Host Bus Adapter) has its own queue depth limits that affect how many SCSI or ATA commands it can handle concurrently.

You can query and tune queue depth on Linux devices using tools like nvme, smartctl, or by reading /sys/block/nvmeXnY/device/queue_depth. Applications like databases and high-performance storage software often tune queue depth to balance throughput and latency for their workloads.

Related terms