On Tue, Jul 5, 2016 at 9:50 AM, Kaixi Luo <kaixiluo@xxxxxxxxx> wrote: > Hello, > > I've been reading Mr. Greg Smith's "Postgres 9.0 - High Performance" book > and I have some questions regarding the guidelines I found in the book, > because I suspect some of them can't be followed blindly to the letter on a > server with lots of RAM and SSDs. > > Here are my server specs: > > Intel Xeon E5-1650 v3 Hexa-Core Haswell > 256GB DDR4 ECC RAM > Battery backed hardware RAID with 512MB of WriteBack cache (LSI MegaRAID SAS > 9260-4i) > RAID1 - 2x480GB Samsung SSD with power loss protection (will be used to > store the PostgreSQL database) > RAID1 - 2x240GB Crucial SSD with power loss protection. (will be used to > store PostgreSQL transactions logs) > > First of all, the book suggests that I should enable the WriteBack cache of > the HWRAID and disable the disk cache to increase performance and ensure > data safety. Is it still advisable to do this on SSDs, specifically the step > of disabling the disk cache? Wouldn't that increase the wear rate of the > SSD? At the time that book was written, the majority of SSDs were known not to be completely honest and/or reliable about data integrity in the face of a power event. Now it's a hit or miss situation (for example, see here: http://blog.nordeus.com/dev-ops/power-failure-testing-with-ssds.htm). The intel drives S3500/S3700 and their descendants are the standard against which other drives should be judged IMO. The S3500 family in particular offers tremendous value for database usage. Do your research; the warning is still relevant but the blanket statement no longer applies. Spinning drives are completely obsolete for database applications in my experience. Disabling write back cache for write heavy database loads will will destroy it in short order due to write amplication and will generally cause it to underperform hard drives in my experience. With good SSDs and a good motherboard, I do not recommend a caching raid controller; software raid is a better choice for many reasons. One parameter that needs to be analyzed with SSD is effective_io_concurrency. see https://www.postgresql.org/message-id/CAHyXU0yiVvfQAnR9cyH%3DHWh1WbLRsioe%3DmzRJTHwtr%3D2azsTdQ%40mail.gmail.com merlin -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance