|
Kind of lost on this even after days of searching for solutions. I've got a system with four Samsung 870 QVO 8TBs that when left at default settings underperforms massively: The whole thing magically recovers to normal speeds when I set primarycache=none and secondarycache=none on the pool: What in the world could even be causing this? At first I thought it was the SATA controller, so I split the whole thing across two SATA controllers, but all that did was slightly increase sequential write speed by about 33%. I was under the impression that ARC (and L2ARC) should improve performance, not horribly ruin it. This feels like a bug in the software but I have no way to confirm it. I found other users on reddit, proxmox, truenas forum, and various other pages with the exact same issue. Sadly they also ran into the no solution wall that I did. System Informationlscpulsmemzfs --version |
Replies: 2 comments 2 replies
|
I don't believe ARC is ruining anything there. What I guess might happen is some side effects on speculative prefetcher or I/O aggregation, etc. that somehow affect I/O sizes to confuse the drive. The speeds are too low to be reasonable for anything. There must be some disk timeouts, or error or something like that. I'd look towards disk load/latency stats, and if you see there anything insane -- it might be your answer. |
|
For others running into this, it appears that there is a known incompatibility between certain SATA/SAS controllers and Samsung SSDs. Swapping from the built-in controller (seems to be AMD?) to a LSI/Broadcom 9400-16i appears to have completely fixed it. Depending on where you are in the world, they'll either be labelled as Lenovo 430-16i or as HPE ARC/L2ARC enabled (and configured)ARC/L2ARC disabled (and configured to be as small as possible just in case)With ARC/L2ARC I now have exceeded the expected performance these drives are supposed to deliver, often by as much as 75%. Without it they're performing exactly as you would expect from four SATA3 drives running as a linked device in a raidz1 - (up to) triple drive performance in read, single drive performance in write. Funnily enough, I found the answer on reddit on a completely unrelated post and comment to anything performance related. The numbers now match between ext4 on md raid5 and zfs raidz1 with any io engine (libaio, io_uring, ...)! |
For others running into this, it appears that there is a known incompatibility between certain SATA/SAS controllers and Samsung SSDs. Swapping from the built-in controller (seems to be AMD?) to a LSI/Broadcom 9400-16i appears to have completely fixed it. Depending on where you are in the world, they'll either be labelled as Lenovo 430-16i or as HPE
ARC/L2ARC enabled (and configured)