Re: Hardware-Frage
Michael Renner <[email protected]>
| Newsgroups | gmane.comp.db.postgresql.german |
|---|---|
| Message-ID | <[email protected]> |
Hey Andreas,
Ich fasse zusammen:
Aktuell: 24GB RAM, 4 SAS RAID10, 200GiB DB Size + paar GiB/Tag, SR für RO-queries
Avisiert: 128GB RAM, 8 SAS RAID10, 2 SSD WAL, SR wie gehabt
Dein Ziel sollte sein, dass das Working Set der Datenbank immer in den page cache & shared_buffers des Servers passt ("Memory backed architecture") - das hat zum Ziel dass die Blockdevices (abseits von Kaltstartszenarien) großflächig nurmehr zum schreiben verwendet werden.
Ein verdoppeln der SAS-Disken wird nur einen marginalen Performance-Zuwachs bringen - das erhöhen des RAM wird die größten Änderungen bringen IMO.
Meine Checkliste ist typischerweise:
*) Mehr RAM!
*) Verifizieren das battery backed write cache für spinning Rust aktiviert ist
*) Verifizieren dass die Platten vernünftige Responsezeiten haben (kaputte Disks, Vibrationen, etc)
*) Trennen von OLTP und DWH-style queries (Bessere Verwendung des Workingsets)
*) Partitionieren der heavy append&read Tables um write/read lokalität zu erhöhen
*) synchronous_commit off? (Bei hohem Commit-Durchsatz und überschaubaren durability-Anforderungen)
*) DB auf SSDs (Momentan noch ein bisschen abenteuerlich, greg smith hat da IIRC mehr infos zu)
Und bevor ihr zum basteln Anfang - sinnvolle OS- (BIO-Layer!!) [1] und PG Daten sammeln (Munin, Cacti, etc.)
Bottom line: Mit der skizzierten Hardware werdet ihr für einige Zeit lang gut fahren, für exakte Prognosen braucht man eine bessere Datenbasis ;)
lg,
Michael
[1] https://workbench.amd.co.at/munin/amd.co.at/kolkhoz.amd.co.at/index.html#disk zB - du willst etwas das IOPS vernünftig aufzeichnet