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
Codebeispiel: öffentliche Klasse JDBCDemo3 { öffe...
In diesem Artikelbeispiel wird der spezifische Co...
Ich habe ein Dockerfile für OpenResty auf CentOS7...
Funktion 0. Aktuelle Uhrzeit anzeigen Befehl: sel...
1. Grundlegende Einführung in die Linux-Gruppe Un...
Inhaltsverzeichnis 1. Was ist Bubble Sort 2. Gebe...
1. Erstellen Sie mit der Methode Object.create() ...
Vorwort Der SQL-Modus wirkt sich auf die von MySQ...
Inhaltsverzeichnis Überblick Formularvalidierung ...
In diesem Artikelbeispiel wird der spezifische Co...
Erstellen Sie Ihre erste Webseite in einer Minute...
yum-Befehl Yum (vollständiger Name Yellow Dog Upd...
Nginx verwendet eine feste Anzahl von Multiprozes...
In diesem Artikel gehen wir davon aus, dass Sie b...
1. Um die MySQL-Datenbank herunterzuladen, besuch...