Wie löse ich Auto Scaling-Probleme in Amazon Keyspaces?

Lesedauer: 3 Minute
0

Ich habe AWS Auto Scaling für meine Amazon Keyspaces-Tabelle (für Apache Cassandra) aktiviert. Ich sehe jedoch immer noch Drosseln, weil die verbrauchte Kapazität größer ist als die bereitgestellte Kapazität.

Kurzbeschreibung

Amazon Keyspaces verwendet die Zielverfolgung AWS Application Auto Scaling. Der prozentuale Zielwert für die Auslastung ist das Verhältnis der verbrauchten Kapazität zur bereitgestellten Kapazität.

Application Auto Scaling erstellt Amazon CloudWatch-Alarme in Ihrem Namen. Dieser Alarm ruft AWS Application Auto Scaling auf, das Amazon Keyspaces benachrichtigt, die bereitgestellte Durchsatzkapazität der Tabelle anzupassen.

Application Auto Scaling für Amazon Keyspaces ändert den bereitgestellten Durchsatz nur, wenn die Arbeitslast mehrere Minuten lang reduziert oder erhöht bleibt. Sie legen beispielsweise die Mindestlesekapazitätseinheiten (RCUs) auf 100 und die Zielauslastung auf 70 % fest:

  • Application Auto Scaling erhöht die bereitgestellte Kapazität, wenn die Auslastung mindestens drei aufeinanderfolgende Minuten lang 70 RCUs übersteigt.
  • Application Auto Scaling verringert die bereitgestellte Kapazität, wenn die Auslastung in 15 aufeinanderfolgenden Minuten (50 RCUs) 20 % oder mehr unter dem Zielwert liegt.

Behebung

Application Auto Scaling ist möglicherweise nicht für die Ausführung mit hohen Aktivitätsspitzen in einer Tabelle geeignet. Dies liegt daran, dass möglicherweise nicht genügend aufeinanderfolgende Datenpunkte vorhanden sind, damit die verbrauchte Kapazität Ihren Kapazitätsanforderungen entspricht. In solchen Fällen kann es zu einer Drosselung Ihrer Tabelle kommen, da die verbrauchte Kapazität die bereitgestellte Kapazität übersteigt. Dies liegt daran, dass nicht genügend Datenpunkte den Nutzungsschwellenwert für Application Auto Scaling überschritten haben, um Ihre Kapazität zu skalieren.

Verwenden Sie Amazon CloudWatch-Metriken, um festzustellen, ob die verbrauchte Kapazität höher ist als die bereitgestellte Kapazität. Verwenden Sie die Summe-Statistik, um den verbrauchten Durchsatz zu berechnen. Rufen Sie beispielsweise den Summe-Wert über einen Zeitraum von einer Minute ab. Teilen Sie es dann durch 60, um die durchschnittlich verbrauchten VerbrauchteLesekapazitätseinheiten zu berechnen. Beachten Sie, dass dieser Durchschnitt keine großen, sondern kurzen Spitzen der Leseaktivität hervorhebt, die in dieser Minute aufgetreten sind. Sie können den berechneten Wert mit dem bereitgestellten Durchsatzwert vergleichen, den Sie für Amazon Keyspaces angeben.

Im Folgenden finden Sie einige bewährte Methoden zur Behebung von Problemen mit Application Auto Scaling in Ihrer Amazon Keyspaces-Tabelle:

  • Wenn der Datenverkehr der Tabelle häufig nicht vorhersehbar ist, sollten Sie erwägen, die Tabelle in den On-Demand-Modus zu aktualisieren. Der On-Demand-Modus eignet sich für die Ausführung von Workloads mit hohen Aktivitätsspitzen, da er Ihren Kapazitätsanforderungen sofort gerecht wird. Sobald Ihr Traffic konsistent wird oder allmählich zunimmt, sollten Sie wieder mit der Verwendung von Application Auto Scaling beginnen.
  • Konfigurieren Sie eine Wiederholungsrichtlinie in Ihrer Anwendung. Verwenden Sie exponentielles Backoff, und versuchen Sie es dann erneut. Oder fügen Sie Jitter hinzu. Sie können diese Methoden verwenden, um eine gewisse Verzögerung zwischen nachfolgenden Wiederholungsversuchen einzuführen. Mit diesen Ansätzen können Sie sicherstellen, dass die Wiederholungsversuche nicht schnell erschöpft sind. Weitere Informationen finden Sie unter Exponentielles Backoff und Jitter.
  • Löschen Sie nicht die CloudWatch-Alarme, die Application Auto Scaling für Amazon Keyspaces erstellt. Wenn Sie diese Alarme löschen, funktioniert Application Auto Scaling möglicherweise nicht wie erwartet. Wenn Sie diese Alarme versehentlich löschen, deaktivieren Sie Application Auto Scaling und schalten Sie es dann wieder ein. CloudWatch erstellt die Alarme automatisch neu.
  • Verlassen Sie sich nicht auf Application Auto Scaling, um gelegentliche, kurzzeitige Aktivitätsspitzen zu bewältigen. Die Application Auto Scaling funktioniert am besten, wenn der Datenverkehr schrittweise zunimmt oder abnimmt. Die integrierte Burst-Kapazität der Tabelle bewältigt gelegentliche Aktivitätsspitzen. Beachten Sie, dass Amazon Keyspaces auch ohne vorherige Ankündigung Burst-Kapazität für die Hintergrundwartung und andere Aufgaben verbrauchen kann.
AWS OFFICIAL
AWS OFFICIALAktualisiert vor 10 Monaten