4 ms·
The glaring difference will probably be a ZFS thing. On some systems the default page size is 128k whereas databases usually use 8k. I didn't read closely enoug
by RantyDave 9y ago
The glaring difference will probably be a ZFS thing. On some systems the default page size is 128k whereas databases usually use 8k. I didn't read closely enough to see what the story is with async writes, or the ZIL, or whatever. tl;dr - there are huge gains to be had with ZFS with a little tuning.
- ianai 9y agoI think the BSDs have always left it to the administrator to optimize the system to their needs, and it didn’t look like OP did any optimization for the first set of results.
- kovacik 9y agoI did set the recommended 8k block size for PostgreSQL dataset as described in the blogpost. Also note the logbias=throughput option.
- ianai 9y agoI stand corrected. Thank you.
- stock_toaster 9y agoYou might also try setting primarycache=metadata, to avoid double caching the data. From what I have been told, this can help reduce memory pressure of the ARC competing with postgres' own caching. Are you also setting a max limit for the ARC? You don't want postgres and the zfs ARC to compete for memory. I wonder if this impacts FreeBSD's poor performance in the read intensive tests.
- kovacik 9y agoI actually did try this and the results were worse. I did not investigate it further and went with primarycache=all
- RantyDave 9y agoAh. OK, sorry.