Received: from maia.hub.org (maia-5.hub.org [200.46.204.29]) by mail.postgresql.org (Postfix) with ESMTP id F204E1337B58 for ; Mon, 3 Jan 2011 22:13:38 -0400 (AST) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.29]) (amavisd-maia, port 10024) with ESMTP id 40348-09 for ; Tue, 4 Jan 2011 02:13:33 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.17.10]) by mail.postgresql.org (Postfix) with ESMTP id 46D5B13364DE for ; Mon, 3 Jan 2011 22:13:30 -0400 (AST) Received: from [192.168.1.6] (mail.highperformancepostgresql.com [71.179.240.8]) by mrelayeu.kundenserver.de (node=mrbap0) with ESMTP (Nemesis) id 0Lf0SV-1Q7grn2Md5-00qgBr; Tue, 04 Jan 2011 03:13:29 +0100 Message-ID: <4D228247.9020901@2ndquadrant.com> Date: Mon, 03 Jan 2011 21:13:27 -0500 From: Greg Smith User-Agent: Thunderbird 2.0.0.24 (X11/20100317) MIME-Version: 1.0 To: "Strange, John W" CC: "pgsql-performance@postgresql.org" Subject: Re: Question: BlockSize > 8192 with FusionIO References: <4D0EFC02.7040004@vmsinfo.com> <5509F55C-FA66-4813-89C3-B2E62F6E8F49@Nasby.net> <4D21F68E.9070004@vmsinfo.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V02:K0:UAooFY6W8ky0cg+FxiKuksPNUZYeuNssHqIShN79aB1 00bwLyeRMNG/EkSyZ8e6+Gf2JXtNjmFk7A+ttGztP2nvGRg9Ib il0/lpJmuJHLThPZuObsU9rFxBAlNzPAHoO+vcBf1ehPi+mh80 OLlmCnPxv5iGHD6TFdSoL98ZoT63qUf4ra639yQCngMUzY4Vr2 bs1+/n0OgZTI8NdKJ3Cv+BvEIDs3Jrt/kiRUYCaAx4= X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-1.9 tagged_above=-10 required=5 tests=BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001 X-Spam-Level: X-Archive-Number: 201101/6 X-Sequence-Number: 41793 Strange, John W wrote: > Has anyone had a chance to recompile and try larger a larger blocksize than 8192 with pSQL 8.4.x? While I haven't done the actual experiment you're asking about, the problem working against you here is how WAL data is used to protect against partial database writes. See the documentation for full_page_writes at http://www.postgresql.org/docs/current/static/runtime-config-wal.html Because full size copies of the blocks have to get written there, attempts to chunk writes into larger pieces end up requiring a correspondingly larger volume of writes to protect against partial writes to those pages. You might get a nice efficiency gain on the read side, but the situation when under a heavy write load (the main thing you have to be careful about with these SSDs) is much less clear. I wouldn't draw any conclusions whatsoever from what fio says about this; it's pretty useless IMHO for simulating anything like a real database workload. I don't even use that utility anymore, as I found it just wasted my time compared with moving straight onto something that tries to act to like a database application simulation. You might try running pgbench with the database scale set to large enough that the resulting database is large relative to total system RAM instead. P.S. Make sure you put the FusionIO drives under a heavy write load and power down the server hard, so you can see what happens if there's a real-world crash. Recovery time to remount the drives in that situation is the main drawback of their design. It does the right thing to protect your data as far as I know, but the recovery can be quite time intensive. -- Greg Smith 2ndQuadrant US greg@2ndQuadrant.com Baltimore, MD PostgreSQL Training, Services and Support www.2ndQuadrant.us "PostgreSQL 9.0 High Performance": http://www.2ndQuadrant.com/books