Поверхностные метрики iostat или Prometheus nodeexporter показывают среднюю latency <100µs — но p99 уходит за 500µs при нагрузке на iouring. Причина: общий completion queue становится бутылочным горлышком на многоядерных системах. Проверьте через: cat /proc/pressure/io — если есть some stall, проблема в очередях ядра. perf record -e 'block:blockrqinsert,block:blockrqcomplete' -a sleep 10 — покажет skew между submit и complete. libaio, несмотря на syscall overhead, изолирует контексты через разные AIO contexts и не страдает от contention в CQ. Для latency-sensitive workloads на bare metal iouring требует ручной привязки очередей к CPU и kernel >=6.6 с enabled iouringregisterfilesupdatetag. Подробнее: https://ftops.space/?utm*source=telegram&utm*medium=smm&utm*campaign=ftops&utm*content=nvme-io-uring-protiv-klassicheskogo