After some googling:
Some Linux distributions (at least Debian, Ubuntu) enable init_on_alloc option as security precaution by default. This option can help to prevent possible information leaks and make control-flow bugs that depend on uninitialized values more deterministic.
Unfortunately, it can lower ARC throughput considerably (see bug).
If you’re ready to cope with these security risks 6, you may disable it by setting init_on_alloc=0 in the GRUB kernel boot parameters.
I think it’s set to 1 on Raspberry Pi OS, you set it in /boot/cmdline.txtI think.
[Exhaustive ZFS performance tuning guide](openzfs.github.io/openzfs-docs/Performance and Tuning/Workload Tuning.html)
ramenshaman@lemmy.world 8 months ago
I haven’t seen more than maybe 32MB/s. The transfers I’ve done are all on my local network from my desktop to my NAS which is plugged into my router. I have samba installed, my NAS shows up as a network drive just fine and I’ve just been dragging/dropping on my desktop GUI. Before setting up RAID, when I did this I would get around 200MB/s. The Pi has 16GB of RAM and I’m using less than 1.5GB.
Lemmchen@feddit.org 8 months ago
Those 200MB/s probably weren’t synchronous transfers. The OS tells you the write was complete, but it actually hasn’t committed the data to disk yet. (Wild guess)
calamityjanitor@lemmy.world 8 months ago
Ah kay, definitely not a RAM size problem then.
iostat -x 5Will print out per drive stats every 5 seconds. The first output is an average since boot. Check all of the drives have similar values while performing a write. Might be one drive is having problems and slows everything down, hopefully unlikely if they are brand new drives.zpool iostat -wWill print out a latency histogram. Check if any have a lot above 1s and if it’s in the disk or sync queues. Here’s mine with 4 HDDs in z1 working fairly happily for comparison: Here’s mine with 4 HDDs in z1 working fairly happily for comparisonThe
init_on_alloc=0kernel flag I mentioned below might still be worth trying.