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

Webdesign: Skriptmaterialien rekonstruieren das Benutzererlebnis

<br />Originaltext: http://blog.rexsong.com/...

So ändern Sie MySQL, um Remoteverbindungen zuzulassen

In Bezug auf die MySQL-Remoteverbindung stoßen wi...

Analyse des Unterschieds zwischen Emits und Attrs in Vue3

Inhaltsverzeichnis abschließend Praxisanalyse Erw...

Node.js verwendet die Express-Fileupload-Middleware zum Hochladen von Dateien

Inhaltsverzeichnis Initialisieren des Projekts Sc...

Über das Problem beim Schreiben von Plugins zum Mounten von DOM in vue3

Im Vergleich zu vue2 verfügt vue3 über ein zusätz...

JavaScript-Einzelthread und asynchrone Details

Inhaltsverzeichnis 1. Aufgabenwarteschlange 2. Um...

MySQL 5.7.10 Installations- und Konfigurations-Tutorial unter Windows

MySQL bietet zwei verschiedene Versionen für unte...

Drei Netzwerkmethoden und Prinzipien von virtuellen VMware-Maschinen (Zusammenfassung)

1. Brigde——Bridge: VMnet0 wird standardmäßig verw...

Tutorial zur Nginx-Standortkonfiguration von Grund auf

Grundlagen Die Reihenfolge der Standortübereinsti...

Probleme und Lösungen für MYSQL5.7.17-Verbindungsfehler unter MAC

Das Problem, dass MYSQL5.7.17 unter MAC keine Ver...