@chrcoluk already meant it - look at the number of threads and queues! At QD=1 (Q1T1) it's 12,5%, but while it measures "in the 3rd line" (Q32T16 in CDM or Q1T64 in AS-SSD) it will use all cores/threas of your CPU. Especially when writing in the third line, it is normal for your CPU usage to reach 100%. So, if you have too few IOPs there (and therefore low score in AS-SSD) - your CPU is just too weak and bottlenecked your SSD @high queue depth. And yes, high QD and maximum IOPs is the least important discipline for normal use scenarios (deal with it if you actually have a multi-user server that thousands of users access simultaneously - only then is it really the most important discipline!).
No, 120K IOPs @4K are equivalent to ~490 MB/s (as you know 1M IOPs @4K = 4096 MB/s, so 4096 x0,12 = 491,52 MB/s exactly).
Although, in your Benches you reach ~1980 MB/s and ~480K IOPs (1979x244,14 = 483K IOPs).
Maximum write IOPs you reach in AS-SSD (AS-SSD shows MiB, so 1M IOPs = 3906,25 MB/s) -> 1766:3,91 ~ 452K IOPs.
The numbers are not bad for such old CPU
AND the OS-SSD with Windows running on it.
My 990Pro Benches with 3 y.o. Ryzen CPU don't show 1,5M IOPs as well:
View attachment 353992as you can see, max. read 5775 x244,14 ~1410K IOPs, here ist the same Benchmark with IOPs indication as a proof:
View attachment 353994so, in high-QD writes i couldn't even reach 1,2M IOPs with my 8-core CPU @100% (assume 16-core CPU needed for 1,5M in reads/writes).
Now, in my old PCIe3.0-system i only benchmarked my older 980Pro:
View attachment 353996As you can see, in reads/writes i had only 810K/660K IOPs.
Maximum IOPs i have reached with 980Pro @PCIe3.0:
View attachment 353997 So, 3486,24x1M:4096 = 851K IOPs (achieved with 16-core 3950X Ryzen CPU).
But, as already said, for general use, better look @ SEQ1M and RND4K results @ Q1T1, not max. IOPs.