[MySQL-Datenbank] Interpretation von Kapitel 2: MySQL-Benchmark-Test
Vorwort:
Benchmark: Grundlegende Fähigkeiten, ein Stresstest für das Systemdesign, ist das einzig praktische, effektive und erlernbare System in einem bestimmten Job. Er kann das beobachten Verhalten des Systems unter verschiedenen Belastungen, bewerten Sie die Kapazität des Systems, verstehen Sie, welche wichtigen Änderungen es gibt, oder beobachten Sie, wie das System verschiedene Daten verarbeitet, und können Sie virtuelle Szenarien außerhalb der tatsächlichen Belastung des Systems erstellen (Beherrschung des Systemverhaltens).
Text:
Wie im Vorwort erwähnt, sind Benchmark-Tests sehr wichtig! Was kann getan werden: Im Allgemeinen: Hardware testen, Hardware schätzen, System überprüfen, Druck messen, Konfiguration anpassen
1. Annahmen basierend auf dem System überprüfen und bestätigen, ob die Annahmen mit der tatsächlichen Situation übereinstimmen 2. Reproduzieren Sie einige abnormale Verhaltensweisen im System, um sie zu beheben. 3. Testen Sie den aktuellen Betrieb des Systems und verwenden Sie historische Ergebnisse, um unvorhersehbare Probleme zu analysieren und zu diagnostizieren. 4. Simulieren Sie höhere Lasten, um die Skalierbarkeitsengpässe herauszufinden, auf die das System bei steigendem Druck stoßen kann 5. Planen Sie zukünftiges Geschäftswachstum, Hardware, Netzwerkkapazität und zugehörige Ressourcen. 6. Testen Sie die Anpassungsfähigkeit der Anwendung an variable Umgebungen. 7. Testen Sie verschiedene Hardware-, Software- und Betriebssystemkonfigurationen korrekt;
Die Rolle des Datenbank-Benchmarkings besteht darin, die Leistung der Datenbank unter der aktuellen Konfiguration (einschließlich Hardwarekonfiguration, Betriebssystem, Datenbankeinstellungen usw.) zu analysieren und so den Leistungsschwellenwert von MySQL herauszufinden und anzupassen entsprechend den tatsächlichen Systemanforderungen. [Quelle]
Anders als echter Druck: Real ist komplex und veränderlich; Benchmark-Tests erfordern eine möglichst schnelle, einfache und direkte Durchführung, leicht vergleichbare Ergebnisse, geringe Kosten und eine einfache Implementierung
2.2 Strategie
Für das gesamte System: integrierter Full-Stack
MySQL einzeln testen: Einzelkomponente
Empfohlener Gesamttest: Richtige Einstellungen
1. Benutzer konzentrieren sich auf die Gesamtleistung. 2. MySQL stellt nicht immer einen Engpass dar. 3. Es kann die tatsächliche Leistung der Anwendung besser erkennen.
Empfohlene separate Tests: Daten erforderlich
1. Vergleich erforderlich verschiedene Schemata oder Abfrageleistung; 2. Testen auf ein bestimmtes Problem; 3. Vermeiden Sie langwierige, kurzfristige, schnelle Zyklen
2.2.1 Indikatoren
Ziel: Verfeinern Sie es in eine Reihe von Fragen , Detaillierte Analyse spezifischer Probleme
Durchsatz:
Anzahl der Transaktionen pro Zeiteinheit, TPC-C, interaktive Mehrbenutzeranwendungen, Anzahl der Transaktionen pro Sekunde, Anzahl der Transaktionen pro Minute
Antwortzeit oder Latenz
Die für die Testaufgabe erforderliche Gesamtzeit, durchschnittliche Klingelzeit, minimale Klingelzeit, Maximum und Prozentsatz mit Hilfe des Diagramms
Parallelität:
Testen Sie die Leistung der Anwendung bei unterschiedlicher Parallelität, achten Sie auf die gleichzeitigen Vorgänge, die Anzahl der gleichzeitig arbeitenden Threads und Verbindungen
Webserver-Parallelität! = Datenbank, nur Datenverarbeitungsfunktionen des Tabellensitzungsspeichers; Testen Sie jederzeit die Parallelität
Skalierbarkeit
Skalierbarkeit: Verdoppelung der Systemarbeit, rationale Situation Teile können gleichzeitig bezogen werden; die Ressourcen des Systems werden verdoppelt oder der Durchsatz wird verdoppelt.
Der Geschäftsdruck des Systems kann sich ändern: Dieser Indikator ist für Kapazitätsspezifikationen nützlich: Bereitstellung von Informationen für Discover Anwendungsengpässe
Erfassen Sie so viele Testanforderungen wie möglich und entwerfen Sie Tests basierend auf den Anforderungen. Vermeiden Sie es, sich nur auf einige Indikatoren zu konzentrieren und andere Indikatoren zu ignorieren
2.3 Methoden
Seien Sie so nah dran möglichst auf die reale Anwendung umstellen Situation:
Verwenden Sie den vollständigen Satz, Datenverteilungsmerkmale, reale Verteilungsparameter, ob mehrere Benutzer vorhanden sind, Benutzerverhalten anpassen, mehrere Typen, Fehlerprotokolle überprüfen, Systemaufwärmphase: Wie Es dauert lange, bis die normale Leistungsfähigkeit nach dem Neustart erreicht ist. Hält eine gewisse Zeit an.
2.3.1 Design und Spezifikationen
Werfen Sie Fragen auf und klären Sie Ziele
Standard-Benchmark-Test: Geeignete Lösung TPC-H OLTP
Spezielle Tests: Komplexe, iterative, einfach wiederherzustellende Schnappschüsse von Produktionsdatensätzen
Planen: Dokumentation der Parameter, Ergebnisse und Testprotokoll im Detail
2.3.2 Zeit
Der Benchmark-Test sollte ausreichend lange laufen . Wenn die Zeit nicht bestätigt werden kann, kann es kontinuierlich beobachtet werden, bis bestätigt wird, dass das System stabil ist.
Eine einfache Testregel: Die Zeit, bis das System stabil aussieht, beträgt mindestens Zeit zum Aufwärmen des Systems
2.3.3 Systemleistung und -status ermitteln
So viele Informationen wie möglich über das zu testende System sammeln
Am besten ein Verzeichnis erstellen, Erstellen Sie für jede Testrunde ein separates Unterverzeichnis und speichern Sie darin die Ergebnisse, Konfigurationsdateien, Testindikatoren, Skripte und andere zugehörige Anweisungen.
Die Daten, die aufgezeichnet werden müssen:
Systemstatus , Leistungsindikatoren: CPU-Auslastung, Festplatten-E/A, Netzwerkverkehrsstatistiken, SHOWGLOBAL STATUS-Zähler
Angemessene Intervalle, Startzeit der Aufzeichnung, Zeitstempel der Auslastung, einfach sammeln
2.3.4 Erhalten Sie genaue Ergebnisse
Beantworten Sie einige Fragen:
Haben Sie den richtigen Benchmark ausgewählt? Wurden für die Frage Daten erhoben? Ist die Aufwärmzeit lang genug?
Wird der falsche Teststandard verwendet: E/A-intensive Referenzen verwenden CPU-intensive Teststandards, um die Leistung zu bewerten?
Sind die Testergebnisse wiederholbar? Stellen Sie sicher, dass der Systemstatus konsistent ist, bevor Sie den symptomatischen Test wiederholen.
Einflussfaktoren:
Externer Druck, Leistungsanalyse, Überwachungssystem, detaillierte Protokolle, periodische Vorgänge
Hinweis:
Die im Prozess erforderlichen Ressourcen werden speziell zum Testen verwendet. Ändern Sie die Parameter während des Tests so wenig wie möglich und ändern Sie die Parameter des Benchmark-Tests schrittweise, indem Sie die abnormalen Situationen im Prozess sorgfältig untersuchen die Gründe
2.3.5 Testanalyseergebnisse ausführen
Automatisierung: Makefiles und Skripte reduzieren
Die Testergebnisse entsprechen einfach den aktuellen Anforderungen Tests und sehen Sie sich die Ergebnisse an. , kann mehrmals oder länger ausgeführt werden
Ergebnis:
Analyse, Zahlen umwandeln In Wissen umgewandelt, besteht das ultimative Ziel darin, Probleme während des Entwurfs zu beantworten
Wie aussagekräftige Ergebnisse abstrahiert werden können, hängt davon ab, wie man Daten sammelt, Skripte zur Datenanalyse schreibt, menschliche Fehler reduziert, Arbeitsaufwand, Wiederholbarkeit und Dokumentation
2.3.6 Die Bedeutung des Zeichnens
Ein Bild sagt mehr als tausend Worte. Ursprünglich gab es einige Wissenspunkte, für die das Baby eine Karte zeichnen wollte, aber es gab keine Zeichnungen
im Buch: SHOW FULL PROCESSLIST zeigt an, welche Threads ausgeführt werden. Sie können diese Informationen auch mit der mysqladmin-Prozessliste abrufen . Andernfalls werden Sie nur in einem eigenen Thread angezeigt, ohne das Schlüsselwort FULL zu verwenden. [Quelle]
2.4 Benchmark Testing Tool
Integration Testtool: Gesamte Anwendung
1. ab ist Apache HTTP, die maximale Anzahl von Anfragen, die es pro Sekunde verarbeiten kann [Referenz] [2]
2. http_load: ab ist ähnlich flexibler und dient zum Testen von Webservern und wird über eine Eingabedatei bereitgestellt. Mehrere URLs können zufällig zum Testen ausgewählt oder zum Testen entsprechend dem Zeitverhältnis angepasst werden [Referenz]
3. JMeter, ein Java-Programm , kann andere Anwendungen laden und deren Leistung testen. Ich bin mit den beiden oben genannten nicht in Kontakt gekommen, daher werde ich keinen Kommentar abgeben:
Einzelkomponententyp: Testen von MySQL, Systemleistung basierend auf MySQL
1. mysqlslap: kommt mit mysql5.1, simuliert die Auslastung des Servers und gibt Timing-Informationen aus. Sie können die Anzahl gleichzeitiger Verbindungen ausführen und SQL-Anweisungen angeben, andernfalls wird die Select-Anweisung automatisch generiert [Referenz ]
2. MySQL Benchmark Suite (SQL-Bench): im Lieferumfang enthalten, aus 5.7 entfernt, Benchmark-Suite, verwenden Vergleichstests auf verschiedenen Datenbankservern, serielle Single-Thread-Ausführung, Messung der Geschwindigkeit von Abfrageausführung; Enthält eine große Anzahl vordefinierter Tests, einfach zu verwenden, einfach zu vergleichende Leistungstests verschiedener Engines oder Konfigurationen, CPU-intensiv, die Ergebnisse zeigen, welche Arten von Vorgängen schneller auf dem Server ausgeführt werden. Der Testdatensatz ist klein und die angegebenen Daten können nicht verwendet werden. Perl-BDB-Unterstützung ist erforderlich.
3. Super Smack: MySQL, PostgreSQL bietet Stresstests und Lastausgleich , ein komplexes und leistungsstarkes Tool, das den Mehrbenutzerzugriff simulieren, Testdaten in die Datenbank laden und Testtabellen mit Zufallsdaten füllen kann [Referenz]
4. Datenbank-Testsuite: A Werkzeugsatz ähnlich einigen Industriestandardtests, Kostenloses TPC-C OLTP-Testtool
5. sysbench: Multithread-Systemstresstest , Bewertung der Systemleistung basierend auf Faktoren, die die Leistung des Datenbankservers beeinflussen, All-in-One-Testtool, unterstützt Hardwaretests von MySQL, Betriebssystem und Hardware [Referenz] [2]
MySQL BENCHMARK()-Funktion: Testet die Ausführungsgeschwindigkeit einer bestimmten Operation. Der Parameter kann die Anzahl der auszuführenden Operationen oder ein Ausdruck (jeder Skalarausdruck) sein.
2.5 Fall
Das n-Wort wird hier weggelassen
2.6 Zusammenfassung
Schließlich wird empfohlen, sich zumindest mit Sysbench vertraut zu machen (Vergleich verschiedener Systemleistungen) und häufig Benchmark-Tests durchzuführen Es ist notwendig, einige Prinzipien zu formulieren und die geeigneten auszuwählen. Testtools, Skriptbibliotheken erstellen, Ergebnisse der Informationsanalyse sammeln und ein Zeichentool beherrschen.
Das haben die Chefs gesagt, wissen Sie also, was ich meine? Nächster Artikel ist?
Verwandte Artikel:
[MySQL-Datenbank] Kapitel 1 Interpretation: MySQL-Architektur und -Geschichte
[MySQL-Datenbank] Interpretation von Kapitel 3: Serverleistungsanalyse (Teil 2)
Das obige ist der detaillierte Inhalt von[MySQL-Datenbank] Interpretation von Kapitel 2: MySQL-Benchmark-Test. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

MySQL ist ein Open Source Relational Database Management -System, das hauptsächlich zum schnellen und zuverlässigen Speicher und Abrufen von Daten verwendet wird. Sein Arbeitsprinzip umfasst Kundenanfragen, Abfragebedingungen, Ausführung von Abfragen und Rückgabergebnissen. Beispiele für die Nutzung sind das Erstellen von Tabellen, das Einsetzen und Abfragen von Daten sowie erweiterte Funktionen wie Join -Operationen. Häufige Fehler umfassen SQL -Syntax, Datentypen und Berechtigungen sowie Optimierungsvorschläge umfassen die Verwendung von Indizes, optimierte Abfragen und die Partitionierung von Tabellen.

Sie können PhpMyAdmin in den folgenden Schritten öffnen: 1. Melden Sie sich beim Website -Bedienfeld an; 2. Finden und klicken Sie auf das Symbol phpmyadmin. 3. Geben Sie MySQL -Anmeldeinformationen ein; 4. Klicken Sie auf "Login".

Die Position von MySQL in Datenbanken und Programmierung ist sehr wichtig. Es handelt sich um ein Open -Source -Verwaltungssystem für relationale Datenbankverwaltung, das in verschiedenen Anwendungsszenarien häufig verwendet wird. 1) MySQL bietet effiziente Datenspeicher-, Organisations- und Abruffunktionen und unterstützt Systeme für Web-, Mobil- und Unternehmensebene. 2) Es verwendet eine Client-Server-Architektur, unterstützt mehrere Speichermotoren und Indexoptimierung. 3) Zu den grundlegenden Verwendungen gehören das Erstellen von Tabellen und das Einfügen von Daten, und erweiterte Verwendungen beinhalten Multi-Table-Verknüpfungen und komplexe Abfragen. 4) Häufig gestellte Fragen wie SQL -Syntaxfehler und Leistungsprobleme können durch den Befehl erklären und langsam abfragen. 5) Die Leistungsoptimierungsmethoden umfassen die rationale Verwendung von Indizes, eine optimierte Abfrage und die Verwendung von Caches. Zu den Best Practices gehört die Verwendung von Transaktionen und vorbereiteten Staten

MySQL wird für seine Leistung, Zuverlässigkeit, Benutzerfreundlichkeit und Unterstützung der Gemeinschaft ausgewählt. 1.MYSQL bietet effiziente Datenspeicher- und Abruffunktionen, die mehrere Datentypen und erweiterte Abfragevorgänge unterstützen. 2. Übernehmen Sie die Architektur der Client-Server und mehrere Speichermotoren, um die Transaktion und die Abfrageoptimierung zu unterstützen. 3. Einfach zu bedienend unterstützt eine Vielzahl von Betriebssystemen und Programmiersprachen. V.

Apache verbindet eine Verbindung zu einer Datenbank erfordert die folgenden Schritte: Installieren Sie den Datenbanktreiber. Konfigurieren Sie die Datei web.xml, um einen Verbindungspool zu erstellen. Erstellen Sie eine JDBC -Datenquelle und geben Sie die Verbindungseinstellungen an. Verwenden Sie die JDBC -API, um über den Java -Code auf die Datenbank zuzugreifen, einschließlich Verbindungen, Erstellen von Anweisungen, Bindungsparametern, Ausführung von Abfragen oder Aktualisierungen und Verarbeitungsergebnissen.

Der Prozess des Startens von MySQL in Docker besteht aus den folgenden Schritten: Ziehen Sie das MySQL -Image zum Erstellen und Starten des Containers an, setzen

Die Hauptaufgabe von MySQL in Webanwendungen besteht darin, Daten zu speichern und zu verwalten. 1.Mysql verarbeitet effizient Benutzerinformationen, Produktkataloge, Transaktionsunterlagen und andere Daten. 2. Durch die SQL -Abfrage können Entwickler Informationen aus der Datenbank extrahieren, um dynamische Inhalte zu generieren. 3.Mysql arbeitet basierend auf dem Client-Server-Modell, um eine akzeptable Abfragegeschwindigkeit sicherzustellen.

Der Schlüssel zur eleganten Installation von MySQL liegt darin, das offizielle MySQL -Repository hinzuzufügen. Die spezifischen Schritte sind wie folgt: Laden Sie den offiziellen GPG -Schlüssel von MySQL herunter, um Phishing -Angriffe zu verhindern. Add MySQL repository file: rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm Update yum repository cache: yum update installation MySQL: yum install mysql-server startup MySQL service: systemctl start mysqld set up booting
