Ryan Wexler <ryan(at)iridiumsuite(dot)com> wrote:
> It still amazes me that it would account for a 5x change in IO.
If you were doing one INSERT per database transaction, for instance,
that would not be at all surprising. If you were doing one COPY in
of a million rows, it would be a bit more surprising.
Each COMMIT of a database transaction, without caching, requires
that you wait for the disk to rotate around to the right position.
Compared to the speed of RAM, that can take quite a long time. With
write caching, you might write quite a few adjacent disk sectors to
the cache, which can then all be streamed to disk on one rotation.
It can also do tricks like writing a bunch of sectors on one part of
the disk before pulling the heads all the way over to another
portion of the disk to write a bunch of sectors.
It is very good for performance to cache writes.
-Kevin