Detaillierte Analyse und Prüfung von SSD-Leistungsproblemen in MySQL-Servern

Detaillierte Analyse und Prüfung von SSD-Leistungsproblemen in MySQL-Servern

【Frage】

Wir haben einen HP-Server. Wenn die SSD etwa 5000 IOPS schreibt, erreicht der %util mehr als 80 %. Gibt es also ein Problem mit der Leistung dieser SSD? Um dieses Problem zu lösen, haben wir den folgenden Test durchgeführt.

【Werkzeug】

Blktrace ist ein Tool zur Fehlerbehebung bei der IO-Leistung unter Linux. Es kann die verschiedenen Schritte aufzeichnen, die IO durchläuft, und den Verbrauch von IO-Anfragen in jeder Phase berechnen. Im Folgenden sind einige wichtige Schritte aufgeführt:

Q2G – Die zum Generieren von IO-Anfragen benötigte Zeit, einschließlich Neuzuordnungs- und Zwischenzeit;

G2I – Die Zeit, die eine IO-Anforderung benötigt, um in den IO-Scheduler zu gelangen, einschließlich der Zusammenführungszeit;

I2D – Die Zeit, die die IO-Anforderung im IO-Scheduler wartet;

D2C – die Zeit, die die E/A-Anforderung zwischen Treiber und Hardware benötigt;

Q2C – Die von der gesamten IO-Anforderung benötigte Zeit (G2I + I2D + D2C = Q2C), die der Wartezeit in iostat entspricht.

D2C kann als Indikator für die Hardwareleistung und I2D als Indikator für die Leistung des IO-Schedulers verwendet werden.

[Test 1: Vergleich der SSD-Schreibleistung vor und nach Aktivierung von HP SSD Smart Path]

1. HP SSD Smart Path ist aktiviert, SSD-Controller-Caching ist deaktiviert, Cache-Verhältnis: 100 % Lesen / 0 % Schreiben

Die Testergebnisse sind wie folgt, wobei der AVG-Wert von D2C (die von IO-Anfragen auf der SSD verbrauchte Zeit) bei etwa 0,217 ms liegt.

2. HP SSD Smart Path ist ausgeschaltet, SSD-Controller-Caching ist eingeschaltet, Cache-Verhältnis: 10 % Lesen / 90 % Schreiben

Die Testergebnisse sind wie folgt, wobei der AVG-Wert von D2C (die von IO-Anfragen auf der SSD verbrauchte Zeit) bei etwa 0,0906 ms liegt.

【abschließend】

Ersteres dauert auf der Hardware etwa 2,4-mal länger als Letzteres. Für schreibbasierte Systeme wird empfohlen, HP SSD Smart Path zu deaktivieren und das SSD-Controller-Caching zu aktivieren.

[Test 2: Vergleich der Leistung von Noop- und Deadline-E/A-Planungsalgorithmen]

Derzeit gibt es vier Festplattenplanungsalgorithmen: Der in unserem System ist als Deadline konfiguriert, und in vielen Dokumenten wird empfohlen, SSD als Noop zu konfigurieren.

1. Vorausschauend, geeignet für Personal-PC, Einzelplattensystem;

2. CFQ (Complete Fair Queuing), der Standard-IO-Planungsalgorithmus, ein vollständig fairer Warteschlangen-Planungsalgorithmus

3. Frist: Planen Sie in jeder IO-Warteschlange entsprechend der Frist

4. noop, einfache FIFO-Warteschlangenplanung

Die folgenden Tests wurden mit deaktiviertem HP SSD Smart Path durchgeführt.

1. Deadline, hauptsächlich mit Fokus auf G2I und I2D

2. Wechseln Sie zu noop

【abschließend】

Die Leistung des Noop-IO-Schedulers ist in Bezug auf Warte- und Verbrauchszeit etwas besser als die von Deadline, aber der Unterschied ist nicht so groß. Wenn eine Evaluierung erforderlich ist, sind weitere detaillierte Tests in verschiedenen Szenarien erforderlich.

Die folgende Abbildung ist ein Testvergleich verschiedener Planungsalgorithmen basierend auf Online-Daten:

[Test 3: Vergleichen Sie die von dieser Server-SSD verbrauchte Zeit mit der einer SSD mit derselben Konfiguration]

AVG D2C beträgt 0,0906 ms und 0,0934 ms, mit geringem Unterschied, was darauf hinweist, dass die SSD dieses Servers hinsichtlich der Reaktionszeit normal ist.

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. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung der MySQL-Instanz mit aktiviertem SSD-Speicher
  • Teilen Sie die 20 besten Erfahrungen zur MySQL-Leistungsoptimierung
  • Detaillierte Analyse der Einführung, Unterschiede, Erstellung und Leistungstests der MySQL-Datenbank-Engine
  • MySQL-Leistungsoptimierungs-Sharing (Sharding von Datenbanken und Tabellen)
  • MySQL-Leistungsoptimierungspfad --- Ändern Sie die Konfigurationsdatei my.cnf
  • MySQL-Leistungseinstellungen
  • Tipps zur deutlichen Verbesserung der MySQL-Abfrageleistung
  • MySQL Leistungsoptimierung Indexoptimierung

<<:  CentOS6.8 – Tutorial-Diagramm zum Umschalten der chinesischen/englischen Umgebung

>>:  So installieren Sie Django in einer virtuellen Umgebung unter Ubuntu

Artikel empfehlen

So verwenden Sie Makros in JavaScript

In Sprachen werden häufig Makros zur Implementier...

Zusammenfassung häufig verwendeter Escape-Zeichen in HTML

Die in HTML häufig verwendeten Escape-Zeichen wer...

Lösung für „Keine Eingabedatei angegeben“ in nginx+php

Heute ist in meiner lokalen Entwicklungsumgebung ...

Zusammenfassung einiger effizienter magischer Operatoren in JS

JavaScript veröffentlicht mittlerweile jedes Jahr...

So führen Sie das Excel-Tabellen-Plugin in Vue ein

In diesem Artikel wird der spezifische Code von V...

Beispiele und Vergleich von 3 Methoden zur Deduplizierung von JS-Objekt-Arrays

Inhaltsverzeichnis 1. Vergleich der Daten vor und...

So beheben Sie Dateisystemfehler in Linux mit „fsck“

Vorwort Das Dateisystem ist für die Organisation ...

Ubuntu 16.04 64-Bit in drei Schritten mit 32-Bit-Programmen kompatibel

Schritt 1: Bestätigen Sie die Architektur Ihres S...

So verwenden Sie „union all“ in MySQL, um die Union-Sortierung zu erhalten

Manchmal kommt es in einem Projekt aus irreversib...