Re: Postgres configuration for 64 CPUs, 128 GB RAM... - Mailing list pgsql-performance

From Luke Lonergan
Subject Re: Postgres configuration for 64 CPUs, 128 GB RAM...
Date
Msg-id C3E62232E3BCF24CBA20D72BFDCB6BF8044A19DB@MI8NYCMAIL08.Mi8.com
Whole thread Raw
In response to Postgres configuration for 64 CPUs, 128 GB RAM...  ("Marc Mamin" <M.Mamin@intershop.de>)
Responses Re: Postgres configuration for 64 CPUs, 128 GB RAM...  (Dimitri <dimitrik.fr@gmail.com>)
List pgsql-performance

Hi Dimitri,

Can you post some experimental evidence that these settings matter?

At this point we have several hundred terabytes of PG databases running on ZFS, all of them setting speed records for data warehouses.

We did testing on these settings last year on S10U2, perhaps things have changed since then.

- Luke

Msg is shrt cuz m on ma treo

 -----Original Message-----
From:   Dimitri [mailto:dimitrik.fr@gmail.com]
Sent:   Monday, July 30, 2007 05:26 PM Eastern Standard Time
To:     Luke Lonergan
Cc:     Josh Berkus; pgsql-performance@postgresql.org; Marc Mamin
Subject:        Re: [PERFORM] Postgres configuration for 64 CPUs, 128 GB RAM...

Luke,

ZFS tuning is not coming from general suggestion ideas, but from real
practice...

So,
  - limit ARC is the MUST for the moment to keep your database running
comfortable (specially DWH!)
  - 8K blocksize is chosen to read exactly one page when PG ask to
read one page - don't mix it with prefetch! when prefetch is detected,
ZFS will read next blocks without any demand from PG; but otherwise
why you need to read more  pages each time PG asking only one?...
  - prefetch of course not needed for OLTP, but helps on OLAP/DWH, agree :)

Rgds,
-Dimitri


On 7/22/07, Luke Lonergan <llonergan@greenplum.com> wrote:
> Josh,
>
> On 7/20/07 4:26 PM, "Josh Berkus" <josh@agliodbs.com> wrote:
>
> > There are some specific tuning parameters you need for ZFS or performance
> > is going to suck.
> >
> > http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide
> > (scroll down to "PostgreSQL")
> > http://www.sun.com/servers/coolthreads/tnb/applications_postgresql.jsp
> > http://bugs.opensolaris.org/view_bug.do?bug_id=6437054
> >
> > You also don't say anything about what kind of workload you're running.
>
>
> I think we're assuming that the workload is OLTP when putting these tuning
> guidelines forward.  Note that the ZFS tuning guidance referred to in this
> bug article recommend "turning vdev prefetching off" for "random I/O
> (databases)".  This is exactly the opposite of what we should do for OLAP
> workloads.
>
> Also, the lore that setting recordsize on ZFS is mandatory for good database
> performance is similarly not appropriate for OLAP work.
>
> If the workload is OLAP / Data Warehousing, I'd suggest ignoring all of the
> tuning information from Sun that refers generically to "database".  The
> untuned ZFS performance should be far better in those cases.  Specifically,
> these three should be ignored:
> - (ignore this) limit ARC memory use
> - (ignore this) set recordsize to 8K
> - (ignore this) turn off vdev prefetch
>
> - Luke
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
>        choose an index scan if your joining column's datatypes do not
>        match
>

pgsql-performance by date:

Previous
From: Dimitri
Date:
Subject: Re: Postgres configuration for 64 CPUs, 128 GB RAM...
Next
From: Karl Denninger
Date:
Subject: Query optimization....