Welche AWS-Instanz für einen schreibintensiven PostgreSQL-Datenbankserver ausgewählt werden soll

7

Wir haben jetzt Probleme, den intensiven Datenverkehr zu unseren Servern während der Stoßzeiten zu bewältigen. Siehe diese verwandte Frage zum Optimieren der Datenbank . Im Moment verwenden wir einen kleineren Cloud-Service für das Server-Hosting. Derzeit prüfen wir die Möglichkeit, unseren Server auf AWS zu verschieben. Die Probleme, die wir haben, hängen hauptsächlich mit unserem Datenbankserver zusammen. Daher möchten wir eine AWS-Instanz haben, die deutlich besser ist als die, die wir jetzt verwenden.

Die Statistiken für den Cloud-Server, auf dem sich der Datenbankserver befindet, lauten wie folgt:

  • 8 Kerne
  • 16 GB RAM
  • 100 GB, RAID-10 * SAS 15.000 U / min

Gibt es etwas Besonderes, über das Sie nachdenken sollten, wenn Sie auswählen, welche Amazon-Instanz für einen PostgreSQL-Datenbankserver verwendet werden soll?

Lorgartzor
quelle
1
Beachten Sie, dass virtuelle Maschinen im Allgemeinen nicht für E / A ausgelegt sind. Wenn Sie Probleme haben, ist es möglicherweise an der Zeit, die Cloud zu verlassen und einen Hardware-Cluster zu erhalten.
Xenoterracide
Übrigens, was treibt dieses RAID-Setup an? Handelt es sich um einen Hardware-RAID-Controller mit stromgeschütztem Cache im Rückschreibemodus? Wenn dies nicht der Fall ist, erhöht das Hinzufügen eines Durchschreib-Caching-RAID-Controllers für Ihre Arbeitslast Ihre Leistung, wie Sie es nicht glauben werden.
Craig Ringer

Antworten:

8

Die Frage "Welche AWS-Instanz für einen schreibintensiven PostgreSQL-Datenbankserver ausgewählt werden soll" entspricht in etwa der Frage "Mit welchem ​​Löffel soll ich dieses Brot schneiden?".

Die Antwort lautet: Verwenden Sie keinen Löffel, sondern ein Messer. Oder in diesem Fall echte Hardware wie ein dedizierter Server mit einer Reihe hochwertiger SSDs und einem anständigen RAID-Controller mit einem batteriegepufferten Write-Back-Cache. Oder zumindest ein VPS mit sehr starken E / A-Leistungsgarantien.

Im Zweifelsfall Benchmark.

Das sei gesagt, können Sie AWS deutlich besser machen als die Standardwerte durch Verwendung bereitgestellt I / O - EBS - Volumes auf EBS-optimierte Instanzen, die Leistung verbessert , während die Daten Haltbarkeit beibehalten wird . Alternativ können Sie die Haltbarkeit im Austausch für mehr Leistung opfern, indem Sie eine Instanz mit hoher E / A mit der Datenbank im Instanzspeicher verwenden. In diesem Fall benötigen Sie ein sorgfältiges Sicherungs- und Replikationsschema, da alle Ihre Daten verloren gehen, wenn Ihre Instanz stoppt oder abstürzt.

Wenn Sie weitere Hilfe benötigen, wenden Sie sich direkt an mich .

Craig Ringer
quelle
Danke für all die Hilfe, Craig! Wir erwägen ernsthaft, stattdessen einen dedizierten Server zu verwenden.
Lorgartzor
@lorgartzor Gerne helfen. Es wäre jedoch sehr nützlich, wenn Sie auf Kommentare zur Klärung antworten würden. Sie haben nie gesagt, was Ihr RAID-Setup war, und das ist für diese und Ihre andere Frage sehr relevant.
Craig Ringer
@lorgartzor Ich habe diese Antwort basierend auf neuen Informationen überarbeitet.
Craig Ringer