Eine Geschichte über die Datenbankleistung Während des Interviews wird das Thema Datenbanken in gewissem Umfang besprochen, z. B. „Wie gut kennen Sie sich mit Datenbanken aus?“ Wann wird die Leistung der Datenbank am meisten getestet? Im Allgemeinen beim Lesen und Schreiben großer Datenmengen. Große Werbeaktivitäten im E-Commerce sind der Zeitpunkt, um die Leistung jeder Datenbank zu testen. Bei Webservern können wir bei großen Datenmengen die Belastung eines einzelnen Servers einfach durch horizontale Erweiterung reduzieren. Bei Datenbankservern ist das jedoch nicht so einfach. Sie können nicht einfach horizontal erweitert werden, was auch gegen die Prinzipien der Datenbankintegrität und -konsistenz verstößt. Wie sollte also unsere Datenbankarchitektur aufgebaut sein? Bei großen Werbemaßnahmen ist alles vergeblich, egal wie gut das Produkt ist oder wie erfolgreich die Planung ist, wenn keine stabile Datenbank und Serverumgebung vorhanden ist. Beispiel einer Datenbankarchitektur Wie in der Abbildung gezeigt, gibt es zwischen dem Master- und dem Slave-Server keine Master-Slave-Replikationskomponente. Das heißt, wenn der Master-Server ausfällt, ist es schwierig, den Master-Server zu wechseln. Dies erfordert, dass der DBA den Slave-Server mit den neuesten Daten von den Slave-Servern auswählt, ihn zum Master-Server befördert und andere Slave-Server synchronisiert. Der Zeitaufwand dieses Prozesses ist ebenfalls sehr hoch. Darüber hinaus stellen zu viele Slave-Server bei großem Geschäftsvolumen auch eine gewisse Herausforderung für die Netzwerkkarte des Hauptservers dar. Mithilfe der Clusterüberwachungsinformationen können wir verstehen, was die Datenbankleistung beeinflusst. Die Antwort ist ja. Im Allgemeinen sind die Hauptgründe QPS und TPS, Parallelität (die Anzahl der gleichzeitig verarbeiteten Anfragen, um Verwechslungen mit der Anzahl gleichzeitiger Verbindungen zu vermeiden), Festplatten-E/A und zu hohe Lesevorgänge. Ein Tipp: Am besten verzichten Sie auf die Datensicherung in der Hauptdatenbank, zumindest brechen Sie derartige Pläne vor größeren Aktionen ab. Faktoren, die die Datenbank beeinflussen
Ultrahohe QPS und TPS Risiko: Ineffizientes SQL (QPS: pro Sekunde verarbeitete Abfragen) Hohe CPU-Auslastung und hohe Parallelität Risiko: Eine große Anzahl gleichzeitiger Verbindungen (die Anzahl der Datenbankverbindungen ist ausgeschöpft (max_connections ist standardmäßig auf 100 eingestellt)) Risiko: Extrem hohe CPU-Auslastung (Ausfallzeit aufgrund von CPU-Erschöpfung) Festplatten-E/A Risiko: Die Disk-IO-Leistung sinkt plötzlich (verwenden Sie schnellere Festplattengeräte) Risiko: Andere geplante Aufgaben, die viel Festplattenleistung verbrauchen (geplante Aufgaben anpassen) Netzwerkkartenverkehr Risiko: Netzwerkkarten-IO ist voll (1000 MB/8 = 100 MB) So vermeiden Sie, dass keine Verbindung zur Datenbank hergestellt werden kann: 1. Reduzieren Sie die Anzahl der Slave-Server Das könnte Sie auch interessieren:
|
<<: Vue implementiert den Anwesenheitskalender von DingTalk
>>: Keepalived+Nginx+Tomcat-Beispielcode zur Implementierung eines hochverfügbaren Webclusters
Ab Elasticsearch 6.8 dürfen kostenlose Benutzer d...
Inhaltsverzeichnis 1. Passen Sie den Inhalt der S...
In Kombination mit dem Szenario in diesem Artikel...
Unter Ubuntu kommt es häufig vor, dass sich das T...
Inhaltsverzeichnis 1. Ist setState synchron? asyn...
Inhaltsverzeichnis 1. Mehrere Syntaxen von Insert...
Inhaltsverzeichnis 1. Grundlegende Konzepte 1.1 Z...
1. Laden Sie MySQL Community Server 5.7.16 herunt...
In diesem Artikel erfahren Sie den spezifischen C...
Vorwort Bevor wir mit diesem Artikel beginnen, be...
Deinstallieren Sie alte Versionen Sollten Sie zuv...
Konvertierung zwischen RGBA- und Filterwerten unt...
Ziehen Sie die Maus, um einen Screenshot der Seit...
Inhaltsverzeichnis MySQL-Löschsyntax-Aliasproblem...
MySQL-Partitionierung ist hilfreich bei der Verwa...