Greg Stark wrote:
>That said, I'm curious why the emulated servers performed better than the
>Native Windows port. My first thought is that they probably aren't syncing
>every write to disk so effectively they're defeating the fsyncs, allowing the
>host OS to buffer disk writes.
>
>
I havn't tested it, and it's certanly possible. However, please bear in
mind that it is also possible that it just gives better performance.
The reason this may be possible is that the emulation layer gets the CPU
(and other resources) from the OS in bulk, and decides on it's own how
to allocate it to the various processes running within the emulation.
Inparticular, this "on it's own" is done using the stock Linux kernel.
As Postgresql works sufficiently better on Linux than on Windows, this
yields better performance.
Again - speculation only. Someone should defenitely make sure that no
caching takes place where it shouldn't.
As a side note, I have had a chance to talk to Dan Aloni (coLinux
maintainer) about running PostgreSQL on coLinux. He said that he knows
that this particular use is high on people's priority list, but he feels
it is totally unsafe to run a production database on alpha grade
software. Then again, free software projects being what they are, this
is usually what a maintainer would say.
Shachar
--
Shachar Shemesh
Lingnu Open Source Consulting
http://www.lingnu.com/