Re: a question about Direct I/O and double buffering

Поиск
Список
Период
Сортировка
Искать
От
Xiaoning Ding
Тема
Re: a question about Direct I/O and double buffering
Дата
Msg-id
46153E7D.7030208@cse.ohio-state.edu
Ответ на
Список
Дерево обсуждения
a question about Direct I/O and double buffering Xiaoning Ding <dingxn@cse.ohio-state.edu>
Re: a question about Direct I/O and double buffering Erik Jones <erik@myemma.com>
Re: a question about Direct I/O and double buffering Mark Lewis <mark.lewis@mir3.com>
Re: a question about Direct I/O and double buffering Erik Jones <erik@myemma.com>
Re: a question about Direct I/O and double buffering Mark Lewis <mark.lewis@mir3.com>
Re: a question about Direct I/O and double buffering Erik Jones <erik@myemma.com>
Re: a question about Direct I/O and double buffering "Jim C. Nasby" <jim@nasby.net>
Re: a question about Direct I/O and double buffering Xiaoning Ding <dingxn@cse.ohio-state.edu>
Re: a question about Direct I/O and double buffering Erik Jones <erik@myemma.com>
Re: a question about Direct I/O and double buffering "Alex Deucher" <alexdeucher@gmail.com>
Re: a question about Direct I/O and double buffering Xiaoning Ding <dingxn@cse.ohio-state.edu>
Re: a question about Direct I/O and double buffering "Alex Deucher" <alexdeucher@gmail.com>
Re: a question about Direct I/O and double buffering david@lang.hm
Re: a question about Direct I/O and double buffering david@lang.hm
Re: a question about Direct I/O and double buffering Erik Jones <erik@myemma.com>
Re: a question about Direct I/O and double buffering david@lang.hm
Erik Jones wrote:
> On Apr 5, 2007, at 12:09 PM, Xiaoning Ding wrote:
> 
>> 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!
> 
> To the best of my knowledge, Postgres itself does not have a direct IO 
> option (although it would be a good addition).  So, in order to use 
> direct IO with postgres you'll need to consult your filesystem docs for 
> how to set the forcedirectio mount option.  I believe it can be set 
> dynamically, but if you want it to be permanent you'll to add it to your 
> fstab/vfstab file.

I use Linux.  It supports direct I/O on a per-file basis only.  To 
bypass OS buffer cache,
files should be opened with O_DIRECT option.  I afraid that I have to 
modify PG.

Xiaoning
> 
> erik jones >
> software developer
> 615-296-0838
> emma(r)
> 
> 
> 

В списке pgsql-performance по дате отправления
От: Erik Jones
Дата:
От: Mark Lewis
Дата:
FAQ