Re: [PERFORM] Specifications for a new server

From: "r(dot)etzenhammer(at)t-online(dot)de" <r(dot)etzenhammer(at)t-online(dot)de>
To: "Performance, Postgresql" <pgsql-performance(at)postgresql(dot)org>
Subject: Re: [PERFORM] Specifications for a new server
Date: 2014-05-08 05:20:43
Message-ID: 1WiGl9-2HqlCi0@fwd30.aul.t-online.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Hello,

here I am - the lonely user of JBOD :-) I use exactly what you describe below, we have a couple of Dell Servers with battery backed H700 controllers. On one we let the controller do a RAID10 on others I use the single disks (as you describe in useless RAID0s).

What we do then is use those disks in a Solaris ZFS Pool as filesystem for our databases. The reason is, that with ZFS (maybe there are other fs around there which can do this, but far back in good old Sun-times it was the only one) I can build up a pool and mix nearline SAS with SSDs in a neat way. ZFS has the concept of an ZFS Intent Log (ZIL), where writes go first before migrated to the pool - and you can put them on seperate disks. And you have the adaptive replacement cache (ARC) you can also put on seperate disks, where hot data is cached. Now guess where we use the expensive SSDs.

It boils down to this:

- slow mechanical drives backed with nvram controller
- SSD expecially for the ARC (and ZIL)
- RAM for ZFS further caching

On my very first try when ZIL and ARC approached in Solaris my first idea was just put one SSD splitted to two partitions as ARC and ZIL to our exisiting database. I didn't change anything else (to be fair, that was a development system with out nvram controller) - gave me a boost in performace of about 10.

To be a bit more fair (I can, as I do not work for Sun - ehm Oracle): If this would work for someone else, the usage pattern should be kept in mind. Also setting and tuning a Solaris server is of some more work and ZFS itself uses a good bunch of CPU and RAM (we leave 8G for ZFS) and one would need much testing and tuning.

A positive effect we use is for backing up data - since ZFS offers atomic snapshots, we just snapshot the filesystem. The datafiles are guaranteed to be vaild as the WAL. A restore is to put the files back into place and restart Postgres - it will run a recovery and replay the WAL and everything is done. We used that to provide back in time recovery and warm standby with old postgres installations before replication was included into core.

Cheers,
Roland

> Can this nvram be used also when the configuration is
> jbod(justabunchofdisks) or some kind of raid(0/1/5/6/10 etc) is
> required to use the nvram.

That probably depends on the controller used. Some controllers (e.g.
Dell Perc H700 and such) don't even support JBOD - an easy way around
this is create single-drive RAID0 arrays (never tried it, though).

Why do you even want to use JBOD?

----------------------------------------------------------------
E-Mail-Postfach voll? Jetzt kostenlos E-Mail-Adresse @t-online.de sichern und endlich Platz für tausende E-Mails haben.
http://www.t-online.de/email-kostenlos

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Phan Công Minh 2014-05-08 07:04:43 Check memory consumption of postgresql query
Previous Message Tomas Vondra 2014-05-07 21:35:14 Re: Specifications for a new server