Re: Shared buffers, db transactions commited, and write IO on Solaris
От | Erik Jones |
---|---|
Тема | Re: Shared buffers, db transactions commited, and write IO on Solaris |
Дата | |
Msg-id | F007D213-08DB-4B1D-A9BD-4925CAD11334@myemma.com обсуждение исходный текст |
Ответ на | Re: Shared buffers, db transactions commited, and write IO on Solaris (Dimitri <dimitrik.fr@gmail.com>) |
Ответы |
Re: Shared buffers, db transactions commited, and write IO on Solaris
|
Список | pgsql-performance |
On Mar 30, 2007, at 8:14 AM, Dimitri wrote:
You are right in that the page size constraint is lifted in thatdirectio cuts out the VM filesystem cache. However, the Solariskernel still issues io ops in terms of its logical block size (whichwe have at the default 8K). It can issue io ops for fragments assmall as 1/8th of the block size, but Postgres issues its io requestsin terms of the block size which means that io ops from Postgres willbe in 8K chunks which is exactly what we see when we look at oursystem io stats. In fact, if any io request is made that isn't amultiple of 512 bytes (the disk sector size), the file systemswitches back to the buffered io.Oh, yes, of course! yes, you still need to respect multiple of 512bytes block size on read and write - sorry, I was tired :)Then it's seems to be true - default XLOG block size is 8K, means forevery even small auto-committed transaction we should write 8K?... Isthere any reason to use so big default block size?...Probably it may be a good idea to put it as 'initdb' parameter? andhave such value per database server?
I believe it's because that is a pretty normal Unix kernal block size and you want the two to match.
erik jones <erik@myemma.com>
software developer
615-296-0838
emma(r)
В списке pgsql-performance по дате отправления: