3 ms·
You're right! This article actually wasn't meant to be a benchmarking-style post, I didn't actually share my notes and numbers, because I originally started jus
by hardwaresofton 5y ago
You're right! This article actually wasn't meant to be a benchmarking-style post, I didn't actually share my notes and numbers, because I originally started just experimenting and kind of fell down the rabbit hole. This originally started as me trying to pick a local filesystem after moving off of Ceph-for-everything -- it started as an mdraid vs LVM vs ZFS experiment.
That said, the reasons I haven't published all my notes is because:
- I only used one testing software pgbench (which is notorious for producing)
- Good evaluation needs a long term assessment of drive fragmentation which is hard to do (and literally takes time)
- Sometimes I changed multiple variables at a time, and not all the values I have in my notes are averaged across multiple runs, etc.
So in the end this post was just gathering what other much smarter people have said that I took inspiration from so it's all in one place.
Some intuition as well on why 16k can work better than 8k is in that scale15x talk -- for sequential table scans, it's almost like you're pre-faulting. A contact I've made through this research also recently suggested to me that I was only scratching the surface -- bigger record sizes should be better, as long as write amplification can be managed and fragmentation avoided (via a SLOG or more tuning).