Mit zunehmender Anzahl von Besuchen steigt der Druck auf die MySQL-Datenbank. Fast alle Webanwendungen, die die MySQL-Architektur verwenden, haben Leistungsprobleme mit der Datenbank. Es ist sehr nützlich, problematische Abfragen über das MySQL-Protokoll für langsame Abfragen zu verfolgen. Mit diesem Protokoll können die SQL-Anweisungen im aktuellen Programm analysiert werden, die viele Ressourcen verbrauchen. Wir können das langsame Abfrageprotokoll über die Datei my.cnf aktivieren. Schauen wir uns die Bedeutung der relevanten Parameter an. Datei, in der Protokolle langsamer Abfragen gespeichert werden. Sie müssen sicherstellen, dass der Prozessbenutzer des MySQL-Serverprozesses mysqld_safe über W-Berechtigungen für die Datei verfügt. Wenn die Abfragezeit diesen Wert überschreitet, wird sie als langsame Abfrage betrachtet und aufgezeichnet. Die Einheit ist Sekunden, der Minimalwert ist 1 und der Standardwert ist 10 Sekunden. 10 Sekunden sind für die meisten Anwendungen zu lang. Wir empfehlen, mit 3 Sekunden zu beginnen und diese schrittweise zu reduzieren, wobei Sie jedes Mal die 10 „teuersten“ SQL-Anweisungen finden und optimieren. Tag für Tag, Schritt für Schritt optimieren. Das gleichzeitige Suchen vieler SQL-Anweisungen ist für die Optimierung wenig sinnvoll. MySQL zeichnet Abfragen, die keine Indizes verwenden, im Protokoll für langsame Abfragen auf. Unabhängig von der Ausführungsgeschwindigkeit wird eine Abfrage, die keinen Index verwendet, protokolliert. Manchmal sind Abfragen, die keine Indizes verwenden, sehr schnell (z. B. das Scannen einer kleinen Tabelle), sie können jedoch auch zu einer Verlangsamung des Servers führen und sogar viel Speicherplatz beanspruchen. Einige Managementanweisungen werden ebenfalls aufgezeichnet. Zum Beispiel Langsame Abfrage aktivieren Methode 1: Suchen Sie die MySQL-Konfigurationsdatei my.cnf auf dem Server und fügen Sie dann den folgenden Inhalt zum mysqld-Modul hinzu log_slow_queries = NEIN log-slow-queries = /var/run/mysqld/slow_querys.log lange_Abfragezeit = 3 Protokollabfragen ohne Verwendung von Indizes Log-Slow-Admin-Anweisungen Starten Sie dann den MySQL-Server neu. Dies dient zur Überprüfung des langsamen Abfrageprotokolls mit dem folgenden Befehl: tail -f /var/run/mysqld/slow_querys.log Methode 2: Ändern Sie die globalen Variablen von MySQL. Der Vorteil dabei ist, dass Sie den MySQL-Server nicht neu starten müssen. Sie können sich einfach bei MySQL anmelden und das SQL-Skript ausführen. Setzen Sie global slow_query_log=ON; setze global long_query_time=3; Führen Sie dann den folgenden Befehl aus, um zu überprüfen, ob er erfolgreich war mysql> Variablen wie „long%“ anzeigen; +-----------------+------------+ | Variablenname | Wert | +-----------------+------------+ | lange Abfragezeit | 10.000000 | +-----------------+------------+ 1 Zeile im Satz (0,00 Sek.) mysql> Variablen wie „slow%“ anzeigen; +---------------------+---------------+ | Variablenname | Wert | +---------------------+---------------+ | langsame Startzeit | 2 | | slow_query_log | EIN | | slow_query_log_datei | /tmp/slow.log | +---------------------+---------------+ 3 Zeilen im Satz (0,00 Sek.) Analysieren langsamer Abfrageprotokolle Methode 1: Indem wir uns die langsame Abfrageprotokollanalyse von MySQL ansehen, können wir beispielsweise tail -f slow_query.log verwenden, um den Inhalt und die Bedeutung der Felder anzuzeigen # Zeit: 110107 16:22:11 # Benutzer@Host: root[root] @ localhost [] # Abfragezeit: 9,869362 Sperrzeit: 0,000035 Gesendete Zeilen: 1 Untersuchte Zeilen: 6261774 SET-Zeitstempel=1294388531; wähle count(*) aus ep_friends;
Methode 2: Verwenden Sie den Befehl mysqldumpslow, um beispielsweise zu analysieren mysqldumpslow -sc -t 10 /tmp/slow-log Dadurch werden die 10 wichtigsten SQL-Anweisungen mit den meisten Datensätzen ausgegeben. Dabei gilt: -s gibt die Sortiermethode an. c, t, l und r werden jeweils nach der Anzahl der Datensätze, der Zeit, der Abfragezeit und der Anzahl der zurückgegebenen Datensätze sortiert. ac, at, al und ar geben die entsprechende umgekehrte Sortierung an. -t bedeutet oberste n, was die Anzahl der zurückgegebenen Datensätze angibt. Auf -g kann ein Übereinstimmungsmuster für reguläre Ausdrücke folgen, das nicht zwischen Groß- und Kleinschreibung unterscheidet. Zum Beispiel
Nachteile langsamer Abfrageprotokolle Das Aufzeichnen langsamer Abfragen kann Ihnen jedoch dabei helfen, Ihr Produkt zu optimieren. Die aktuelle Version von MySQL weist jedoch noch einige Mängel auf. 1. In MySQL 5.0 ist die Zeitgranularität von 2. Nicht alle vom Server ausgeführten Abfragen können im Slow-Log aufgezeichnet werden. Obwohl das normale MySQL-Protokoll alle Abfragen aufzeichnet, werden sie vor der Analyse der Abfrage aufgezeichnet. Dies bedeutet, dass normale Protokolle keine Informationen wie Ausführungszeit, Tabellensperrzeit, Anzahl der geprüften Zeilen usw. enthalten können. 3. Wenn die Option Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an Das könnte Sie auch interessieren:
|
>>: So implementieren Sie eine bidirektionale Bindungsfunktion in vue.js mit reinem JS
Inhaltsverzeichnis 1. Haken anzeigen 1. Was bei d...
Null, Hintergrund Ich habe diesen Donnerstag viel...
CSS (Cascading Style Sheet) wird zum Verschönern ...
Beispiel zur MySQL-Passwortänderung – ausführlich...
„Der große Fluss fließt nach Osten, die Wellen sp...
Inhaltsverzeichnis 1. Einführung in import_table ...
Vorwort InnoDB gehört in MySQL zur Speicher-Engin...
Einführung Wenn die MySQL InnoDB-Engine Datensätz...
Wie definiert man komplexe Komponenten (Klassenko...
Bei der täglichen Entwicklung geht es im Allgemei...
Konzept MMM (Master-Master-Replikationsmanager fü...
Inhaltsverzeichnis 1. Übersicht 2. Routing Naviga...
1. Effektanzeige Ein in JavaScript geschriebenes ...
Inhaltsverzeichnis 1. Einleitung 2. Code-Implemen...
1. Stellen Sie sicher, dass das System über die e...