Received: from localhost (maia-5.hub.org [200.46.204.182]) by postgresql.org (Postfix) with ESMTP id 589789FB1F8 for ; Wed, 18 Apr 2007 15:08:14 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.182]) (amavisd-maia, port 10024) with ESMTP id 87985-05 for ; Wed, 18 Apr 2007 15:08:07 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey-1.7.4 Received: from noel.decibel.org (noel.decibel.org [67.100.216.10]) by postgresql.org (Postfix) with ESMTP id D1DF49FB40E for ; Wed, 18 Apr 2007 15:08:08 -0300 (ADT) Received: by noel.decibel.org (Postfix, from userid 1001) id B86EF564DD; Wed, 18 Apr 2007 13:08:02 -0500 (CDT) Received: (hashcash-sendmail, from uid 1001); Wed, 18 Apr 2007 13:07:59 -0500 Date: Wed, 18 Apr 2007 13:07:59 -0500 From: "Jim C. Nasby" To: Erik Jones Cc: Mark Lewis , Xiaoning Ding , pgsql-performance@postgresql.org Subject: Re: a question about Direct I/O and double buffering Message-ID: <20070418180758.GW72669@nasby.net> References: <46152D5D.5030602@cse.ohio-state.edu> <4C4C834E-9304-4E23-AD15-1756921500B5@myemma.com> <1175797629.5581.39.camel@archimedes> <7B476592-606F-46F0-A643-9C4E5D85CE6E@myemma.com> <1175802972.5581.56.camel@archimedes> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Operating-System: FreeBSD 6.1-RELEASE-p10 amd64 X-Distributed: Join the Effort! http://www.distributed.net User-Agent: Mutt/1.5.13 (2006-08-11) X-Hashcash: 1:20:070418:erik@myemma.com::Qv/xdkdyJz3scgkP:000dzC X-Hashcash: 1:20:070418:mark.lewis@mir3.com::mEog1dHxSqQ29La1:000000000000000000 000000000000000000000000Abdh X-Hashcash: 1:20:070418:dingxn@cse.ohio-state.edu::iFaaGCFV4Zx2Uar+:000000000000 0000000000000000000000001Tmr X-Hashcash: 1:20:070418:pgsql-performance@postgresql.org::M4/bPuoMZTPPE1pH:00000 0000000000000000000000000d6u X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200704/336 X-Sequence-Number: 24213 On Thu, Apr 05, 2007 at 03:10:43PM -0500, Erik Jones wrote: > Nope. What we never tracked down was the factor of 10 drop in > database transactions, not disk transactions. The write volume was > most definitely due to the direct io setting -- writes are now being > done in terms of the system's block size where as before they were > being done in terms of the the filesystem's cache page size (as it's > in virtual memory). Basically, we do so many write transactions that > the fs cache was constantly paging. Did you try decreasing the size of the cache pages? I didn't realize that Solaris used a different size for cache pages and filesystem blocks. Perhaps the OS was also being too aggressive with read-aheads? My concern is that you're essentially leaving a lot of your memory unused this way, since shared_buffers is only set to 1.6G. BTW, did you ever increase the parameter that controls how much memory Solaris will use for filesystem caching? -- Jim Nasby jim@nasby.net EnterpriseDB http://enterprisedb.com 512.569.9461 (cell)