Re: ZFS-FreeBSD + postgresql performance - Mailing list pgsql-admin

From Mark Felder
Subject Re: ZFS-FreeBSD + postgresql performance
Date
Msg-id 1382548465.32073.37624113.6AA8DB42@webmail.messagingengine.com
Whole thread Raw
In response to ZFS-FreeBSD + postgresql performance  (Albert Shih <Albert.Shih@obspm.fr>)
Responses Re: ZFS-FreeBSD + postgresql performance
List pgsql-admin
On Wed, Oct 23, 2013, at 11:25, Albert Shih wrote:
> Hi
>
> I would like to known if someone here have in production a FreeBSD server
> with postgresql and the FS for the data of postgresql is a ZFS pool.
>
> I'm going to buy some server with 96Go of Ram and a jbod of 12 disks (4To
> each)
>
> The purpose is to have everything on this zfs pool (except the system who
> still on classic raid). So to have
>
>     many jail (~20-30) running apache/mysql/etc.
>     one postgresql server with all data on the zfs.
>
> each jail use his own zfs partition. So I can use zfs send/received to
> have
> a  mirror of everything in a other server.
>
> My question is about the performance, I known ZFS eat all memory he can
> have (or almost), so what append when we run database like postgresql and
> jail ? (it's also the reason of 96 Go ram).
>
> Sorry for cross-posting but it's about 3 differents things....
>

To my understanding the solution is to change the primarycache to
"metadata" for any ZFS filesystem that you do not want ZFS to heavily
cache in memory.

Example:

# zfs set primarycache=metadata tank/usr/local/pgsql

Now for my ZFS filesystem "tank/usr/local/pgsql" where the postgres data
directory exists we will tell ZFS to only cache metadata there. Postgres
will do its own caching of the data.


pgsql-admin by date:

Previous
From: Albert Shih
Date:
Subject: ZFS-FreeBSD + postgresql performance
Next
From: Pablo Delgado Díaz-Pache
Date:
Subject: Re: Autovacuum seems to block database: WARNING worker took too long to start