Ermitteln der Skalierungsanforderungen für den Azure Database for MySQL-Server
Bei der Größenanpassung von Computeressourcen ist zu prüfen, ob die vorhandene und die prognostizierte Nutzung innerhalb der Kapazität liegt. Die erforderlichen Informationen erhalten Sie durch die Überwachung grundlegender Leistungskennzahlen, wie CPU- und RAM-Auslastung. Möglicherweise kann das Protokoll für langsame Abfragen verwendet werden, um schlecht funktionierende Abfragen zu identifizieren und zu optimieren und das Leistungsproblem zu beheben, ohne die Rechengröße zu skalieren. Außerdem sollten Sie die E/A-Leistung überwachen, um sicherzustellen, dass Lese- und Schreibvorgänge in der Datenbank kein Leistungsengpässe darstellen. Eine weitere Möglichkeit, die verfügbare Kapazität der Hauptdatenbank effektiv zu erhöhen, ist die Bereitstellung eines Lesereplikats zur Verlagerung der Abfragelast.
Überwachen der Datenbankleistungsmetriken
Das Azure-Portal bietet Zugriff auf eine Reihe von Metriken, mit denen Sie die Datenbankleistung überwachen können. Sie können z. B. den CPU-Prozentsatz visualisieren, der von einem flexiblen Server verwendet wird.
Da die CPU-Auslastung bei 100 % liegt, beeinträchtigt das die Datenbankleistung stark. Wenn die CPU-Auslastung auf Ihrem flexiblen Server konstant über 50 % liegt, sollten Sie daher eine Erhöhung der Rechenleistung in Betracht ziehen.
Sie können Ihre Leistungskennzahlen in der Arbeitsmappe mit der Überwachungsübersicht einsehen. Führen Sie die folgenden Schritte aus, um auf die Übersichtsarbeitsmappe zuzugreifen:
Wählen Sie im Azure-Portal im linken Bereich unter „Überwachung für Ihre flexible Serverinstanz von Azure Database for MySQL“ die Option Arbeitsmappen aus.
Wählen Sie die Arbeitsmappe Übersicht aus. Sie sehen Diagramme, die die Verbindungen, die CPU- und Speicherauslastung und andere Metriken anzeigen, wie auf dem folgenden Screenshot.
Zusätzlich zur Analyse dieser Metriken können Sie die Serverdiagnose anzeigen, um Einblicke in die Leistung im Bereich Protokolle Ihres flexiblen Servers zu erhalten.
Neben diesen Metriken und Protokollen können Sie auch das Protokoll der langsamen Abfragen überwachen, um Details über lang laufende Abfragen zu erfassen. Anhand dieser Informationen können Sie vorhandene langsame Abfragen erkennen und optimieren sowie Warnmeldungen einrichten, um künftige Leistungseinbrüche bei Abfragen sofort zu erkennen und abzumildern.
Um die Funktion „Protokoll der langsamen Abfragen“ zu aktivieren, wählen Sie auf der Seite, die Ihrem flexiblen Server zugeordnet ist, die Option Serverprotokolle, und aktivieren Sie dann die Kontrollkästchen „Aktivieren“ und „Protokolle der langsamen Abfragen“.
Sobald die Protokollierung langsamer Abfragen aktiviert ist, können Sie mithilfe von Protokollanalysen oder Visualisierungsarbeitsmappen Einblicke in die Abfrageleistung erhalten. Um auf die Abfrageleistungserkenntnisse zuzugreifen, führen Sie die gleichen Schritte wie oben aus, wählen Sie jedoch Abfrageleistungserkenntnisse anstelle von „Übersicht“ aus.
Es werden mehrere Visualisierungen angezeigt, darunter die 5 längsten Abfragen oder eine Zusammenfassung der langsamen Abfragen, wie im folgenden Screenshot dargestellt.
Optimieren von Serverleistungsparametern
Sie können die Parameter des MySQL-Servers konfigurieren, um die Leistung auf der Grundlage Ihrer Überwachung zu optimieren. Sie können z. B. den Wert innodb_buffer_pool_size
erhöhen, um mehr Tabellendaten im Speicher zu halten und Lesevorgänge auf dem Datenträger zu sparen. Sie könneninnodb_log_file_size
erhöhen, um die Aktivität zum Leeren der Prüfpunkte des Pufferpools zu verringern, was jedoch zu einer langsameren Wiederherstellung nach einem Absturz führt.
Wenn Sie feststellen, dass die Anwendungsverbindungen in der Warteschlange stehen und die Serverlast akzeptabel ist, können Sie die Anzahl der maximalen Verbindungen erhöhen, um mehr Parallelität zu ermöglichen.
Um Serverparameter zu ändern, wechseln Sie zum Azure-Portal für Ihren flexiblen MySQL-Server, und navigieren Sie zum Abschnitt Serverparameter. Geben Sie den Parameternamen in die Suchleiste ein oder durchsuchen Sie die Wichtigsten oder Alle unterstützten Serverparameter.
Erkunden und Aktivieren der Funktion zur Autoskalierung der IOPS
Azure Database for MySQL bietet zwei Möglichkeiten, E/A-Kapazität Datenträgern zuzuweisen: vorab bereitgestellte IOPS (I/O-Vorgänge pro Sekunde).
Vorab bereitgestellte IOPS sind möglicherweise vorzuziehen, wenn die Datenbanklast vorhersagbar ist und keine Spitzen aufweist. Dem Server wird eine Basisanzahl von IOPS zugewiesen, und Sie können bei Bedarf zusätzliche IOPS (bis zur maximalen Rechengröße) zuweisen, indem Sie auf Compute + Speicher gehen:
Im Falle einer Spitzenbelastung kann die Serverleistung vorübergehend sinken, wenn die E/A-Vorgänge den zugewiesenen Wert überschreiten. Kapazität und Kosten sind jedoch vorhersagbar.
Die Funktion zur Autoskalierung der IOPS wurde für unvorhersehbaren, spitzenbelasteten oder wachsenden Datenbankdatenverkehr erstellt. Wenn dieses Feature aktiviert ist, skalieren IOPS dynamisch, sodass keine manuelle Anpassung erforderlich ist, um Kosten oder Leistung zu optimieren, da der Workflow schwankt. Mit der Funktion zur Autoskalierung der IOPS werden unvorhergesehene Auslastungsspitzen transparent gehandhabt, und Sie zahlen nur für verbrauchte Operationen, nicht für ungenutzte Kapazität.
Für einen vorhandenen flexiblen MySQL-Server können Sie die Funktion zur Autoskalierung der IOPS im Azure-Portal aktivieren, indem Sie Compute + Speicher auswählen:
Hinweis
Sie können die Funktion zur Autoskalierung der IOPS auch während der Servererstellung aktivieren.
Überwachen von IOPS
Durch die Überwachung der IOPS können Sie feststellen, wie nahe Ihre Instanz am maximalen IOPS-Wert liegt, wenn Sie die vorab bereitgestellten IOPS verwenden, oder an der maximalen Computegröße, wenn Sie die Funktion zur Autoskalierung der IOPS verwenden.
Um die IOPS-Leistung zu überwachen, navigieren Sie zum Bereich Metriken im Abschnitt Überwachung oder zum Bereich Übersicht, wenn Sie die IOPS-Leistung zusammen mit anderen allgemeinen Metriken anzeigen möchten.
Da Sie bei WingTip Toys mit einem starken Anstieg des Verkehrsaufkommens zu unvorhersehbaren Zeiten rechnen, wenn die Marketingkampagne anläuft, möchten Sie das Risiko vermeiden, dass Sie eingehende Bestellungen nicht bearbeiten können. Außerdem sollten Sie nicht für die maximale Kapazität bezahlen, wenn Sie diese nicht wirklich benötigen. Sie entscheiden sich für die Funktion zur Autoskalierung der IOPS anstelle der vordefinierten IOPS, bei der je nach Bedarf weitere IOPS manuell hinzugefügt werden müssen. Dieser Ansatz schafft ein Gleichgewicht zwischen Kosteneffizienz und bedarfsgerechter Skalierbarkeit.
Bereitstellen eines Lesereplikats
Sie stellen Lesereplikate bereit, um schreibgeschützte Abfragen in eine separate Datenbank auszulagern und so die Belastung der Hauptanwendungsdatenbank zu verringern.
Um ein Lesereplikat bereitzustellen, wählen Sie im Azure-Portal auf der Seite, die Ihrem flexiblen Server zugeordnet ist, die Option Replikation und anschließend die Option Replikat hinzufügen.
Nachdem Sie das Lesereplikat erstellt haben, können Sie den Namen des Replikationsservers sowie dessen Rechen- und Speichereinstellungen konfigurieren. Einige Einstellungen (z. B. die Authentifizierung), die vom primären Server geerbt werden, können nicht geändert werden.
Bei Wingtip Toys können das Datenwissenschaftsteam und die Berichterstattungstools jetzt den Lesereplikatserver abfragen, wodurch die Belastung der Hauptanwendungsdatenbank verringert wird und die Notwendigkeit entfällt, Analysen zu drosseln oder Abfragen außerhalb der Geschäftszeiten zu beschränken.