Is the old ZFS block size trick still necessary (since DBs internalise so much that OSs tend to provide)?
We did an exhaustive test of our use-cases, and the best ZFS tuning options with Postgres we found (again, for our workload):
* Enable ZFS on-disk compression
* Disable ZFS in-memory compression (enabling this option costs us 30% perf penalty)
* Enable primary caching
* Limit read-ahead caching
Edit: Forgot to add, here are the required PGSQL options when using ZFS: * full_page_writes = off
* wal_compression = off
Once the above options were set, we were getting close to EXT4 read/write speeds with the benefit of compression.