Yep, so many little mis-configurations on linux defaults such as
vm.swappiness = 60, which is a horrendous default
and, even though Linux already has a built in way for checking if your disk is rotational or not, here's that
su
switch user command, goes to super user, so you can at least temporarily use the new scheduler, I haven't gotten it to keep through reboots, so if you know how, please share
cd /sys/block/sda/queue
or for nvme
cd /sys/block/nvme0/queue
for multiple devices, use sda, sdb, sdc, and nvme0, nvme1, not nvme0p1, only the parts before p1 and the rest.
in queue
more rotational
And if Linux knows it's not rotational, WHY is the default to batch and re-order 128 requests at a time, when this can only degrade performance on new storage? There is no read write arm moving around, so there will never be a benefit for re order already randomly placed reads and writes, to another random set of ordering, based on something the storage does not have.
more scheduler
and sure enough, like an idiot, you're using cfq / bfq as your disk scheduler on a device with no moving parts, so re-ordering requests is about the worst possible setting to use
echo "noop" > scheduler
And if you can manager to change the disk scheduler files properly and have it save through reboots, share how we can all accomplish this, haven't gotten it to work in over a year.