How to check queue depth of operations
I want to do some performance profiling and tweaking. One thing I'm doing is using CrystalDiskMark at RND32K, since most of my reads appear to be 32K. I am not, however, sure of what queue depth my system's reads typically are at.
Is there any way of checking?
Posted Sep 18, 2020, 5:10 AM UTC
32
iostat -xm 1 command should give currently issued request queue size. Check the man page to see what fields mean what.
For my desktop system it is usually less than 2.
Thank you.
My assumption was that it's usually 2 but I'll have to give that a test.
With RND 4k Q1T1 I'm getting around 150MBps (1.2Gbps), which I consider solid. The bulk of my IO requests appear to be 32K anyway.
One thing to add... I'm getting this error:
EDIT: looks like I don't run it on the zpool level...
With that said, my average queue size is under 1. Most of the time it's VERY close to 0. I'm expecting bursty workloads though, especially since most of the time I'm getting data out of ARC and/or l2arc. Is there any way to get average queue size while filtering out times where the queue is at 0?