Received: from localhost (unknown [200.46.204.183]) by postgresql.org (Postfix) with ESMTP id 1E9D564FCC7 for ; Sun, 17 Aug 2008 08:18:02 -0300 (ADT) Received: from postgresql.org ([200.46.204.86]) by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 00482-05 for ; Sun, 17 Aug 2008 08:17:55 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from oxford.xeocode.com (87-127-95-198.no-dns-yet.enta.net [87.127.95.198]) by postgresql.org (Postfix) with ESMTP id 3D77064FCC1 for ; Sun, 17 Aug 2008 08:17:59 -0300 (ADT) Received: from localhost ([127.0.0.1] helo=oxford.xeocode.com) by oxford.xeocode.com with esmtp (Exim 4.69) (envelope-from ) id 1KUgGh-0001dE-Vk; Sun, 17 Aug 2008 12:17:56 +0100 To: Cc: "Decibel!" , "Henrik" , "Jeff" , "Luke Lonergan" , Subject: Re: Filesystem benchmarking for pg 8.3.3 server In-Reply-To: <874p5jykpj.fsf@oxford.xeocode.com> (Gregory Stark's message of "Sun\, 17 Aug 2008 11\:55\:36 +0100") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux) X-Draft-From: ("nnimap+mail01.enterprisedb.com:INBOX.performance" 6548) References: <014F2941B0A1EA47BD61D21526B806E903509704@MI8NYCMAIL08.Mi8.com> <2DBD3E73-D9E5-4DFA-832F-3FD53480B284@torgo.978.org> <8795DFE4-BFE1-49A5-8341-A6823DF2BE4E@decibel.org> <32CD744F-2C1A-4BE2-B4BA-90CFD3A86DF7@mac.se> <04470CDD-146A-4725-BBC5-22E3271B958A@decibel.org> <874p5jykpj.fsf@oxford.xeocode.com> From: Gregory Stark Organization: EnterpriseDB Date: Sun, 17 Aug 2008 12:17:55 +0100 Message-ID: <87y72vx53w.fsf@oxford.xeocode.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0.1 tagged_above=0 required=5 tests=RDNS_DYNAMIC=0.1 X-Spam-Level: X-Archive-Number: 200808/185 X-Sequence-Number: 31066 "Gregory Stark" writes: > writes: > >>> If you are completely over-writing an entire stripe, there's no reason to >>> read the existing data; you would just calculate the parity information from >>> the new data. Any good controller should take that approach. >> >> in theory yes, in practice the OS writes usually aren't that large and aligned, >> and as a result most raid controllers (and software) don't have the >> special-case code to deal with it. > > I'm pretty sure all half-decent controllers and software do actually. This is > one major reason that large (hopefully battery backed) caches help RAID-5 > disproportionately. The larger the cache the more likely it'll be able to wait > until the entire raid stripe is replaced avoid having to read in the old > parity. Or now that I think about it, replace two or more blocks from the same set of parity bits. It only has to recalculate the parity bits once for all those blocks instead of for every single block write. -- Gregory Stark EnterpriseDB http://www.enterprisedb.com Ask me about EnterpriseDB's PostGIS support!