Amazon: Woher weiß ich, ob ich Provisioned IOPS benötige?

8

Wir sind kürzlich zu Amazon Web Servern gewechselt und lernen uns noch immer zurecht. Unsere EC2-Webinstanz und unsere RDS-MySQL-Instanz (im Moment haben wir jeweils nur eine) scheinen in Ordnung zu tuckern. Aber ich habe mich gefragt, ob wir mit ihnen noch bessere Leistungen erzielen können.

Wir betreiben zwar eine sehr kleine Site, aber das Laden bestimmter Seiten dauert aufgrund der großen Aggregation auf der MySQL-Seite noch eine Weile.

So sehen unsere aktuellen Statistiken aus:

Verwendung des EC2-Webservers (c3.large) UE2-Verwendung

RDS (MySQL) -Nutzung (db.m1.large) RDS-Verwendung

Von diesen ist nur die Datenbank (db.m1.large) "Provisioned IOPS Optimized".

  1. Profitieren Nicht-PIOPS-optimierte Instanzen weiterhin von Provisioned IOPS? Oder sollten wir einen anderen Instanztyp für unseren EC2-Webserver in Betracht ziehen?

  2. Benötigen wir mit diesen Statistiken überhaupt Provisioned IOPS? Würden wir einen Nutzen sehen?

  3. Woher weiß ich, wie viel ich benötige, wenn Provisioned IOPS hilft? Wie könnte ich das testen?

DOOManiac
quelle

Antworten:

4

Profitieren Nicht-PIOPS-optimierte Instanzen weiterhin von Provisioned IOPS?

Ja. Sie profitieren davon, dass die PIOPS-Volumes SSDs unter der Haube sind. Optimierte Instanzen verfügen über ein dediziertes Netzwerk für die EBS-Server, sodass sie eine konsistente Leistung erhalten. Nicht optimierte Instanzen interact mit EBS zusammen mit dem Rest ihres Netzwerkverkehrs, so schwer , die Nutzung der Bandbreite auf dem physischen Host können Sie verlangsamen.

http://aws.typepad.com/aws/2012/08/fast-forward-provisioned-iops-ebs.html

Als Referenzpunkt liefert ein Standard-EBS-Volumen im Allgemeinen durchschnittlich etwa 100 IOPS, wobei die Möglichkeit besteht, auf Best-Effort-Basis auf Hunderte von IOPS zu platzen.

Vor diesem Hintergrund werden Sie vermutlich Leistungsverbesserungen durch PIOPS auf dem RDS feststellen, da Sie durchschnittlich 50 bis 100 Schreibvorgänge und 200 bis 400 Lesevorgänge auf dem RDS-Volume durchführen - Sie befinden sich wahrscheinlich am meisten in diesem Best-Effort-Burst-Zustand der ganzen Zeit.

Ihr Webserver führt keine IOPS aus den Diagrammen aus, daher würde ich vermuten, dass alles bereits glücklich im RAM lebt und nicht auf die Festplatte trifft. Stellen Sie jedoch sicher, dass es kein sekundäres Volume gibt, das Sie sich stattdessen ansehen sollten.

ceejayoz
quelle
EC2 hat kein sekundäres Volume. Wie viel IOPS benötige ich für RDS? (Und wie komme ich alleine zu dieser Zahl, um später darauf zurückgreifen zu können?) Danke.
DOOManiac
@DOOManiac Das hängt ein bisschen von deinem Setup ab. Wir sehen, dass unsere DB-Server bei ungefähr 400 IOPS sitzen, also haben wir 600 bereitgestellt - damit können wir ohne Leistungseinbußen auf eine durchschnittliche Auslastung von 50% platzen. Wenn wir mehr Verkehr hätten, wären wir vielleicht höher gegangen.
Ceejayoz
Aus dem obigen Diagramm habe ich also ungefähr 125 Spitzen-Schreib-IOPS und 500 Spitzen-Lese-IOPS. Wie berechne ich, wie viel IOPS ich benötige?
DOOManiac
Bei RDS werden mit PIOPS 50% für Schreibvorgänge und 50% für Lesevorgänge verwendet. Außerdem müssen PIOPS in Blöcken von 1K PIOPS bereitgestellt werden, damit die nächste Stufe 2K PIOPS ist. Dadurch erhalten Sie 1K IOPS zum Schreiben und 1K zum Lesen.
Benson Wong
2
PIOPS ist selten so kostengünstig wie das Erhalten des gleichen IOPS über eine große SSD. Diese Funktion war zum Zeitpunkt der Erstellung dieser Antwort nicht verfügbar.
Brian