That’s good. You want metadata and system to be DUP with a single HDD.
Except that this is why I was getting 200 I/O operations per second on a busy node, and hence sky-diving I/O latency — see my screenshot above.
In that case you should use something besides btrfs. Not having redundant metadata, even on a single disk, is a recipe for losing the filesystem if a bit is flipped in the wrong place.
Working on it! Slowly migrating to plain old ext4.
Finally finished migration. The difference is clear: I’m barely getting 20 writes per second, when I used to have even 200 on btrfs, when comparing a similar period in terms of a number and size of upload requests. I didn’t expect the difference will be so huge.
One thing is that the btrfs partition was accidentally created with metadata in DUP scheme, which probably explains half of the difference. Maybe being log-structured might explain the other half?
So while I don’t have hard evidence against btrfs, I’d probably side towards advising against it for storage nodes.