Amazon AWS RDS Burst-Guthaben vs. CPU-Guthaben

Amazon AWS RDS Burst-Guthaben vs. CPU-Guthaben

Ich versuche herauszufinden, ob ich meine Datenbank richtig spezifiziert habe. Unten sehen Sie ein Diagramm, das die WriteIOPSund CPUCreditBalancefür BurstBalanceeine t3.xlarge-Instanz von SQL Server zeigt. Es sieht so aus, als würde ich meine in weiteren 15 Stunden oder so verbrauchen , bei einer ziemlich konstanten WriteIOPS-Rate. Die nimmt BurstBalancejedoch stetig zu.CPUCreditBalance

AWS CloudWatch-Metriken

Was wird in +-15 Stunden passieren - wird die Datenbank gedrosselt oder nicht? Ich habe versucht, die Metriken zu verstehenhier definiertUndhier beschrieben, aber ich bin mir nicht genau sicher, was der Unterschied zwischen den beiden Salden ist. Kann mir jemand erklären, was die beiden Saldenmetriken bedeuten?

Antwort1

CPUCreditBalanceund BurstBalancesind zwei unabhängige Metriken.

Bei Instanzen vom Typ T haben Sie eine CPUCreditBalance. Bei anhaltender CPU-Auslastung wird Ihr Guthaben aufgebraucht und die Maschine wird gedrosselt. Instanzen vom Typ T sind nur für zeitweilige Arbeitslasten geeignet. Jeder Prozess (selbst ein fehlerhafter Prozess), der weiterhin auch nur geringe Mengen an CPU verbraucht, kann das System lahmlegen, wenn er nicht richtig dimensioniert ist. Die TabelleHierzeigt, dass ein t3.xlarge mit einer Basisleistung von 40 % pro vCPU laufen kann, ohne Credits zu gewinnen oder zu verlieren. Alles, was den Server über dieser Rate laufen lässt, verbraucht Credits, bis das System keine Credits mehr hat und auf die Basisleistung gedrosselt wird. Im Wesentlichen wird Ihr System auf 40 % CPU-Auslastung gedrosselt.

Andererseits BurstBalanceist es eine Funktion des EBS-Speichervolumens, das eine EC2- oder RDS-Instanz unterstützt. Wenn Sie ein Standard-GP2-Speichervolumen bereitstellen, bietet es eine Leistungsbasis. Sie können jedoch Credits verdienen, um diese Leistung zu übertreffen. Je größer das Volumen, desto höher die Basisleistung. Wenn Sie einen Prozess haben, der die Festplatte verbraucht (Lesen oder Schreiben), wird er viel schneller als die Basisleistung laufen, bis das Guthaben erschöpft ist. Dann wird er auf die Basisleistung gedrosselt. Weitere Informationen dazuHier.

In Ihrem Diagramm fehlen Schlüsselwerte, und zwar CPUUtilizationund ReadIOPS. Sie sehen, dass Ihr Burst-Guthaben sinkt, wenn Sie dauerhaft Lese- oder Schreib-IOPS auf der Festplatte haben. Wenn es aufgebraucht ist, sind Sie auf die Basisleistung der Festplatte beschränkt. Darüber hinaus sehen Sie, dass Ihr Guthaben sinkt, wenn Sie dauerhaft CPU-Auslastung haben. Wenn es aufgebraucht ist, wird Ihre CPU auf die Basisleistung gedrosselt.

Abhängig von Ihrer Arbeitslast müssen Sie möglicherweise die Größe Ihrer Instanz oder Ihres Volumens an Ihre Anforderungen anpassen. Oder Sie müssen möglicherweise zu einem nicht-burstfähigen Instanztyp wechseln, um eine zuverlässige und konsistente CPU-Leistung zu erzielen. Oder Sie müssen möglicherweise zu einem bereitgestellten Iops-Speichervolumen wechseln, um eine zuverlässige und konsistente Festplattenleistung zu erzielen.

Antwort2

Wenn Ihre Last rund um die Uhr konstant ist, wird Ihnen BurstBalance (EBS-Festplatte) ausgehen. Es gibt einen guten Blog-Artikel darüberHierWenn Ihre Last jedoch beispielsweise außerhalb der Geschäftszeiten abnimmt, wird sich der Burst-Saldo wahrscheinlich erholen.

Wenn Sie eine GP2/GP3-Festplatte haben, empfehle ich, die Festplattengröße zu erhöhen, da Ihr Burst-Guthaben schneller ansteigt. Wenn es sich um IO1/IO2 handelt, erhöhen Sie die zugewiesenen IOPS.

verwandte Informationen