Optimieren Sie MySQL mit 3 einfachen Tricks

Optimieren Sie MySQL mit 3 einfachen Tricks

Ich erwarte nicht, ein erfahrener Datenbankadministrator zu sein, aber wenn ich MySQL optimiere, glaube ich an die 80/20-Regel, die konkret besagt, dass man durch einfaches Anpassen einiger Konfigurationen eine Leistungssteigerung von bis zu 80 % erzielen kann. Insbesondere jetzt, wo Serverressourcen immer günstiger werden.

warnen

1. Keine zwei Datenbanken oder Anwendungen sind genau gleich. Hier gehen wir davon aus, dass die Datenbank, die wir optimieren, eine „typische“ Website bedient, bei der schnelle Abfragen, eine gute Benutzererfahrung und die Bewältigung großer Datenmengen im Vordergrund stehen.

2. Bevor Sie den Server optimieren, sichern Sie bitte die Datenbank!

1. Verwenden Sie die InnoDB-Speicher-Engine

Wenn Sie immer noch die MyISAM-Speicher-Engine verwenden, ist es Zeit, zu InnoDB zu wechseln. Es gibt viele Gründe, warum InnoDB gegenüber MyISAM vorteilhafter ist. Wenn Sie sich über die Leistung Gedanken machen, werfen wir einen Blick darauf, wie InnoDB den physischen Speicher nutzt:

  • MyISAM: Speichert Indizes nur im Speicher.
  • InnoDB: Speichert Indizes und Daten im Speicher.

Fazit: Auf im Arbeitsspeicher abgelegte Inhalte kann schneller zugegriffen werden als auf der Festplatte.

So wechseln Sie die Speicher-Engine auf Ihrer Tabelle:

ALTER TABLE Tabellenname ENGINE=InnoDB;

HINWEIS: Sie haben alle entsprechenden Indizes erstellt, richtig? Um die Leistung zu verbessern, sollte das Erstellen von Indizes immer oberste Priorität haben.

2. Lassen Sie InnoDB den gesamten Speicher verwenden

Sie können Ihre MySQL-Konfiguration in der Datei my.cnf bearbeiten. Verwenden Sie den Parameter innodb_buffer_pool_size, um die Menge an physischem Speicher zu konfigurieren, die InnoDB auf Ihrem Server verwenden darf.

Die allgemein akzeptierte Faustregel hierfür (vorausgesetzt, auf Ihrem Server läuft nur MySQL) besteht darin, den Wert auf 80 % des physischen Speichers Ihres Servers einzustellen. Nachdem Sie sichergestellt haben, dass das Betriebssystem über genügend Arbeitsspeicher verfügt, um ohne Verwendung von Swap-Partitionen ordnungsgemäß ausgeführt zu werden, weisen Sie MySQL so viel physischen Speicher wie möglich zu.

Wenn Ihr Server also über 32 GB physischen Speicher verfügt, können Sie diesen Parameter auf bis zu 25 GB festlegen.

innodb_buffer_pool_size = 25600M

*Hinweis: (1) Wenn Ihr Serverspeicher klein und weniger als 1 GB groß ist. Um die Methoden in diesem Artikel zu verwenden, sollten Sie Ihren Server aktualisieren. (2) Wenn Ihr Server über einen großen Arbeitsspeicher verfügt, beispielsweise 200 GB, dann müssen Sie grundsätzlich nicht bis zu 40 GB Arbeitsspeicher für das Betriebssystem reservieren. *

3. Lassen Sie InnoDB in mehreren Tasks laufen

Wenn der Parameter innodb_buffer_pool_size auf dem Server größer als 1 GB konfiguriert ist, wird der InnoDB-Pufferpool entsprechend der Einstellung des Parameters innodb_buffer_pool_instances in mehrere Instanzen aufgeteilt.

Die Verwendung von mehr als einem Pufferpool bietet folgende Vorteile:

Wenn mehrere Threads gleichzeitig auf den Pufferpool zugreifen, können Engpässe auftreten. Sie können diese Konflikte minimieren, indem Sie mehrere Pufferpools aktivieren:

Die offizielle Empfehlung für die Anzahl der Pufferpools lautet:

Um optimale Ergebnisse zu erzielen, berücksichtigen Sie die Einstellungen von innodb_buffer_pool_instances und innodb_buffer_pool_size, um sicherzustellen, dass jede Instanz über mindestens 1 GB Pufferpool verfügt.

In unserem Beispiel ist der Parameter innodb_buffer_pool_size auf einem Server mit 32 GB physischem Speicher auf 25 GB eingestellt. Eine geeignete Einstellung ist 25600M / 24 = 1,06 GB

innodb_buffer_pool_instances = 24

Beachten!

Nachdem Sie die Datei my.cnf geändert haben, müssen Sie MySQL neu starten, damit die Änderungen wirksam werden:

sudo service mysql neu starten

Es gibt wissenschaftlichere Möglichkeiten, diese Parameter zu optimieren, aber diese Punkte können als allgemeine Richtlinie angewendet werden, um die Leistung Ihres MySQL-Servers zu verbessern.

Zusammenfassen

Oben habe ich Ihnen drei einfache Anpassungen zur Optimierung von MySQL vorgestellt. Ich hoffe, sie sind hilfreich für Sie. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • Optimierung der MySQL 4G-Speicherserverkonfiguration
  • MySQL-Entwicklungsleistungsforschung: Optimierungsmethode zum Batch-Einfügen von Daten
  • Zusammenfassung der zehn Prinzipien zur Optimierung grundlegender Anweisungen in MySQL
  • Einige Methoden zur Optimierung der Abfragegeschwindigkeit bei der Verarbeitung großer Datenmengen durch MySQL
  • Optimierungsmethoden, wenn MySQL zu viel CPU beansprucht (unbedingt lesen)
  • MySQL-Optimierung: Cache-Optimierung
  • MySQL-Optimierung: InnoDB-Optimierung
  • So optimieren Sie die Geschwindigkeit beim Einfügen von Datensätzen in MySQL
  • Ein kurzer Vortrag über das MySQL-Optimierungstool - langsame Abfrage

<<:  Teilen des JS-nativen Quellcodes des Spiels 2048 (das Neueste im Internet)

>>:  Von VirtualBox erstellte virtuelle Debian-Maschine teilt Dateien mit dem Windows-Host

Artikel empfehlen

So verwenden Sie den VIM-Editor unter Linux

Als leistungsstarker Editor mit umfangreichen Opt...

Tutorial zur Verwendung des iostat-Befehls unter Linux

Vorwort Es wird gesagt, dass sich die für Betrieb...

Zusammenfassung einiger gängiger Methoden des JavaScript-Arrays

Inhaltsverzeichnis 1. So erstellen Sie ein Array ...

Zusammenfassung der Grundkenntnisse und Vorgänge der MySQL-Datenbank

Dieser Artikel erläutert anhand von Beispielen di...

Änderung des Zeitzonenproblems von MySQL-Containern in Docker

Vorwort Als Ahhang das Springboot-Projekt entwick...

Apache Calcite-Code zur Dialektkonvertierung

Definition Calcite kann SQL vereinheitlichen, ind...

4 Lösungen für MySQL-Import-CSV-Fehler

Dies soll an die 4 Fallstricke erinnern, in die i...

So legen Sie einen gepunkteten Rahmen in HTML fest

Verwenden Sie CSS-Stile und HTML-Tag-Elemente Um ...

Einführung in Docker-Container

Docker-Übersicht Docker ist eine Open-Source-Lösu...

Eine kurze Diskussion über das Funktionswissen von Python

Inhaltsverzeichnis Zwei Hauptkategorien von Funkt...

Details zur Überwachung von DOM-Elementen durch MutationObServer in JavaScript

1. Grundlegende Verwendung Es kann über den Mutat...