Magnus Hagander <[EMAIL PROTECTED]> wrote: > IIRC, we're still waiting for performance numbers showing there exists a > win from this patch.
Here is a performance number of Direct I/O support on Windows. There was 10%+ of performance win on pgbench (263.33 vs. 290.79) in O_DIRECT. However, I only have a desktop-class machine for Windows. (Pendium 4 3.6GHz with HT, 3GB of RAM, 2 ATA-drives) Test on production-class machines might show different results. In addition, I'm slightly worried about aligment issues reported by Magnus. We might need fail-back-to-non-direct feature on error for safety. $ pgbench -i -s50 $ pgbench -s50 -t8000 -c8 O_DSYNC (FILE_FLAG_WRITE_THROUGH) 263.33 tps O_DSYNC + O_DIRECT (FILE_FLAG_WRITE_THROUGH + NO_BUFFERING) 290.79 tps wal_sync_method = open_datasync wal_buffers = 4MB shared_buffers = 256MB checkpoint_segments = 64 > > Magnus Hagander wrote: > >> We're ok with the alignment issues provided the is code added to reject > >> O_DIRECT if the sector size is too large. > >>> ITAGAKI Takahiro wrote: > >>>> The attached is a patch to define O_DIRECT by ourselves on Windows, > >>>> and to map O_DIRECT to FILE_FLAG_NO_BUFFERING. Regards, --- ITAGAKI Takahiro NTT Open Source Software Center ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq