ZFS-FreeBSD + postgresql performance

Freddie Cash fjwcash at gmail.com
Thu Oct 24 17:27:06 UTC 2013


On Thu, Oct 24, 2013 at 5:40 AM, Daniel Kalchev <daniel at digsys.bg> wrote:

>
> On 24.10.13 15:25, krad wrote:
>
>> If your dbs are doing lots of writes, consider implementing raid 10 on the
>>
> pools level as its much faster for writes.
>>
>
> By all means, if you will run PostgreSQL on the zpool avoid any other
> redundancy than MIRROR. You will be better having one separate MIRROR (or
> multiple mirror vdevs) pool for the DB and another for other data, any time.
>
>  As you have a lots of dbs, and potentially a lot of spindles, you could
>> mix
>> ​ a​
>> nd match the above ideas depending on the dbs profile. Have say a raidz6
>> ​ ​
>> pool for you lower traffic mostly read dbs, a raid 10 pool for your heavy
>> ​ ​
>> write dbs, and a dedicated pool for you low latency db
>>
>
> I have actually experimented with this, in using 15k drives for the "fast"
> databases and 10k drives for the "slow" databases. At the end, I discovered
> it was better idea to combine all the drives in a single zpool with
> multiple vdevs, than to do such separation -- as multiple vdevs are always
> going to provide you with more performance.
>

​There was a discussion recently on the zfs-discuss mailing list covering
this.  There were no hard numbers thrown around, but the general consensus
is that a single large pool per system, comprised of many vdevs, will
almost always give better performance than a system with multiple separate
pools.  There are, of course, exceptions, but in general, you want to limit
the number of individual pools per system.

For example, a pool for the OS running on some small HDs; a pool of mirror
vdevs using fast disk for things needed a lot of performance; and a pool of
large/slow disks in raidz2/3 for things that need a lot of storage.
​
​Or, just go with a lot of raidz2/3 vdevs with a bunch of L2ARC in front of
it.  Performance might be good enough for your needs.

Or, just go with a lot of mirror vdevs if you need the raw throughput
(maybe 3-way mirrors if you're paranoid).

-- 
Freddie Cash
fjwcash at gmail.com


More information about the freebsd-fs mailing list