What about a RAID controller? Are RAID controllers even available for PCI-Express SSD drives, or do we have to stick with SATA if we need a battery-backed RAID controller? Or is software RAID sufficient for SSD drives?
Quite a few of the benefits of using a hardware RAID controller are irrelevant when using modern SSDs. The great random write performance of the drives means the cache on the controller is less useful and the drives you’re considering (Intel’s enterprise grade) will have full power protection for inflight data.
In my own testing (CentOS 7/Postgres 9.4/128GB RAM/ 8x SSDs RAID5/10/0 with mdadm vs hw controllers) I’ve found that the RAID controller is actually limiting performance compared to just using software RAID. In worst-case workloads I’m able to saturate the controller with 2 SATA drives.
Another advantage in using mdadm is that it’ll properly pass TRIM to the drive. You’ll need to test whether “discard” in your fstab will have a negative impact on performance but being able to run “fstrim” occasionally will definitely help performance in the long run.
If you want another drive to consider you should look at the Micron M500DC. Full power protection for inflight data, same NAND as Intel uses in their drives, good mixed workload performance. (I’m obviously a little biased, though ;-)
Wes Vaske | Senior Storage Solutions Engineer
Micron Technology
101 West Louis Henna Blvd, Suite 210 | Austin, TX 78728
From: pgsql-performance-owner@xxxxxxxxxxxxxx [mailto:pgsql-performance-owner@xxxxxxxxxxxxxx] On Behalf Of Andreas Joseph Krogh
Sent: Wednesday, July 01, 2015 6:56 PM
To: pgsql-performance@xxxxxxxxxxxxxx
Subject: Re: New server: SSD/RAID recommendations?
På torsdag 02. juli 2015 kl. 01:06:57, skrev Craig James <cjames@xxxxxxxxxxxxxx>:
We're buying a new server in the near future to replace an aging system. I'd appreciate advice on the best SSD devices and RAID controller cards available today.
The database is about 750 GB. This is a "warehouse" server. We load supplier catalogs throughout a typical work week, then on the weekend (after Q/A), integrate the new supplier catalogs into our customer-visible "store", which is then copied to a production server where customers see it. So the load is mostly data loading, and essentially no OLTP. Typically there are fewer than a dozen connections to Postgres.
Linux 2.6.32
Postgres 9.3
Hardware:
2 x INTEL WESTMERE 4C XEON 2.40GHZ
12GB DDR3 ECC 1333MHz
3WARE 9650SE-12ML with BBU
12 x 1TB Hitachi 7200RPM SATA disks
RAID 1 (2 disks)
Linux partition
Swap partition
pg_xlog partition
RAID 10 (8 disks)
Postgres database partition
We get 5000-7000 TPS from pgbench on this system.
The new system will have at least as many CPUs, and probably a lot more memory (196 GB). The database hasn't reached 1TB yet, but we'd like room to grow, so we'd like a 2TB file system for Postgres. We'll start with the latest versions of Linux and Postgres.
Intel's products have always received good reports in this forum. Is that still the best recommendation? Or are there good alternatives that are price competitive?
What about a RAID controller? Are RAID controllers even available for PCI-Express SSD drives, or do we have to stick with SATA if we need a battery-backed RAID controller? Or is software RAID sufficient for SSD drives?
Are spinning disks still a good choice for the pg_xlog partition and OS? Is there any reason to get spinning disks at all, or is it better/simpler to just put everything on SSD drives?
Thanks in advance for your advice!
Depends on you SSD-drives, but today's enterprise-grade SSD disks can handle pg_xlog just fine. So I'd go full SSD, unless you have many BLOBs in pg_largeobject, then move that to a separate tablespace with "archive-grade"-disks (spinning disks).
--
Andreas Joseph Krogh
CTO / Partner - Visena AS
Mobile: +47 909 56 963
Craig A. James