GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verbessern Sie das Cachen von MySQL-Datenbanken

Warnung

Aufgrund von Skalierungsproblemen und anderen Sonderfällen wird der MySQL-/Mariadb-Abfrage-Cache nicht mehr empfohlen. Wir empfehlen dringend sicherzustellen, dass das Caching von einer Anwendung gehandhabt wird Ebene statt.

Übersicht

In den meisten Linux-Systemen ist die standardmäßig installierte MySQL-Datenbankinstanz häufig auf einen sicheren Parameterbereich konfiguriert, um einen stabilen Betrieb zu gewährleisten. Die Abfrage-Caching-Einstellungen sind in der Regel nicht aktiviert oder sehr konservativ eingestellt. Als Ergebnis dieses Konservatismus verwendet der Datenbankzugriff wenig Systemspeicher, um wiederholte Abfragen zwischenzuspeichern. Indem der Cache aktiviert und an die Anwendungsanforderungen angepasst wird, sind Verbesserungen in den meisten Anwendungen sichtbar, insbesondere in Magento eCommerce Stores.

Für erste Tests wurde als Ausgangspunkt eine Cache-Größe von 32M festgelegt. Vor allen Änderungen werden die Datenbank-Cache-Parameter in /etc/my.cnf gespeichert wurden konfiguriert als:

query_cache_limit 1M
query_cache_size  0
query_cache_type  ON

Ändern der Parameter

Um Änderungen vorzunehmen, muss die Datei /etc/my.cnf wurde bearbeitet, um die folgenden Parameter aufzunehmen, und die Datenbank wurde neu gestartet. Nach Änderungen meldet die Datenbank folgendes:

query_cache_limit 2M
query_cache_size  32M
query_cache_type  ON

Testen

Um unsere Änderungen zu testen, haben wir zunächst einen Magento eCommerce-Shop mit installierter Standard-Demo-Produktdatenbank installiert. Wir haben den Abruf jedes Produkts mithilfe von Belagerung zeitlich festgelegt. Durch die Erhöhung der Cache-Größe in der Datenbank wurde die Antwortzeit der Site um weitere 200 ms verkürzt. Diese einfache Änderung würde darauf hindeuten, dass es möglicherweise mehr Raum für Verbesserungen bei den Parametern und dem Layout des Datenbank-Subsystems gibt, um es speziell für die Verwendung mit Magento zu optimieren, wobei zu beachten ist, dass die Optimierung für Magento bestenfalls eine knifflige Aufgabe sein kann!

Fallen!

Das beliebte MySQLTuner-Skript (wie in unserem Leitfaden zur MySQL-Leistungsoptimierung und -optimierung beschrieben) wurde ausgeführt und zeigte an, dass eine Änderung der Thread-Anzahl vorteilhaft wäre, diese Änderung führte jedoch zu einem Einbruch der Leistung um 290 ms!

Schlussfolgerung

Die MySQL-Datenbankkonfiguration ist im Auslieferungszustand gut, könnte aber deutlich besser sein. Das Erhöhen des Caches lieferte eine sofortige positive Reaktion. Zusätzlich zu den Verbesserungen der Datenbankleistung gibt es auch verschiedene Cache-Technologien wie Memecached und Redis, die die Leistung verbessern, indem häufig referenzierte Daten zwischengespeichert werden.


Linux
  1. So kopieren Sie eine MySQL-Datenbank

  2. Skriptgesteuerte MySQL-Datenbanksicherungen

  3. So erstellen Sie eine Datenbank in MySQL mit MySQL Workbench

  4. MySQL-Benutzer- und Datenbankgrundlagen

  5. Verbessern Sie die Geschwindigkeit des MySQL-Imports

PHP MySQL Select-Daten

Tabellen in einer MySQL-Datenbank auflisten

So sichern Sie die WordPress-Datenbank über MySQL

MySQL-Datenbankserver

Wie man eine Datenbank in MySQL erstellt

MySQL-Übersicht