From: Xiaoning Ding <dingxn@cse.ohio-state.edu>
To: pgsql-performance@postgresql.org
Subject: a question about Direct I/O and double buffering
Date: Thu, 05 Apr 2007 13:09:49 -0400
Message-ID: <46152D5D.5030602@cse.ohio-state.edu> (raw)
Hi,
A page may be double buffered in PG's buffer pool and in OS's buffer cache.
Other DBMS like DB2 and Oracle has provided Direct I/O option to eliminate
double buffering. I noticed there were discusses on the list. But
I can not find similar option in PG. Does PG support direct I/O now?
The tuning guide of PG usually recommends a small shared buffer pool
(compared
to the size of physical memory). I think it is to avoid swapping. If
there were
swapping, OS kernel may swap out some pages in PG's buffer pool even PG
want to keep them in memory. i.e. PG would loose full control over
buffer pool.
A large buffer pool is not good because it may
1. cause more pages double buffered, and thus decrease the efficiency of
buffer
cache and buffer pool.
2. may cause swapping.
Am I right?
If PG's buffer pool is small compared with physical memory, can I say
that the
hit ratio of PG's buffer pool is not so meaningful because most misses
can be
satisfied by OS Kernel's buffer cache?
Thanks!
Xiaoning
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: dingxn@cse.ohio-state.edu
Subject: Re: a question about Direct I/O and double buffering
In-Reply-To: <46152D5D.5030602@cse.ohio-state.edu>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox