Ich frage mich, in welchem Stadium ich das Image für den RDS MySQL-Server auf eine größere CPU/RAM-Instanz erweitern muss.
Das CPU-Auslastungsdiagramm liegt nahe 0. Der durchschnittliche freie Speicher beträgt etwa 150 MB. Die durchschnittliche Swap-Nutzung beträgt 420 MB.
Die Leselatenz beträgt 0–20 ms/Op, sie steigt zufällig an. Die durchschnittliche Schreiblatenz beträgt 5 ms/Op, kann aber bis zu 10–20 ms/Op ansteigen.
Gibt es hier einige allgemeine Regeln, die ich befolgen sollte?
Danke!
Antwort1
Es gibt keine gemeinsamen Regeln
Leistungsregeln müssen durch geschäftliche und technische Ziele festgelegt werden – nicht durch willkürliche.
Welches Leistungsproblem versuchen Sie zu lösen oder zu verhindern?
Kennzahlen sind kein Synonym zu Leistung und haben oft wenig mit geschäftlichen oder sogar technischen Zielen zu tun.
Normalerweise betrachte ich zwei Aspekte der Leistung.
- Welche Kennzahlen muss ich überwachen, um die Leistungsziele zu erreichen?
- Wie viel Ressourcen-Overhead möchte ich beibehalten, um sicherzustellen, dass ich diese Leistungsziele erreiche?
Sich nur auf die Metriken der Datenbankressourcen zu konzentrieren, ohne andere Daten zu haben, ist wahrscheinlich nicht sehr sinnvoll. Diese Metriken brauchen Kontext – sonst handelt es sich nur um voreilige Optimierung.
Solche Kennzahlen sind für die Kapazitätsplanung hilfreich, wenn Sie Ihre Auslastungsraten kennen.
Vielleicht wären folgende Fragen wichtiger:
- Liegt die Leistung meiner Anwendung bei Spitzenauslastung innerhalb akzeptabler Grenzen?
- Wie hoch ist meine Ressourcenauslastung bei Spitzenauslastung?
- Wie hoch wird meine Ressourcenauslastung angesichts des erwarteten Wachstums sein?
Ich erlebe zu oft, dass sich die Leute auf das konzentrieren, was ich Ping, Leistung und Pipe (CPU/Festplatte/RAM) nenne. Das sind selten die wichtigen Dinge, auf die man sich konzentrieren sollte.
Durch das Erfassen von Daten und das Setzen von Zielen für die oben genannten Fragen können Sie sowohl technisch als auch geschäftlich begründete Entscheidungen zur Skalierbarkeit treffen.
Antwort2
Soweit ich das bei RDS-Instanzen gesehen habe, ist FreeableMemory ziemlich niedrig und SwapUsage relativ hoch. Es scheint, dass Ihre Arbeitslast speicherintensiv ist und sich zumindest durch zusätzlichen Speicher verbessern würde.
Für konsistentere Latenzen sind bereitgestellte IOPs die beste Lösung, wenn Sie bereits mindestens 300 GB Speicher zugewiesen haben:http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.html