So verwenden Sie MTR zur Leistungsbewertung der MySQL-Speicher-Engine
Einführung:
MySQL ist ein gängiges relationales Datenbankverwaltungssystem, das eine Vielzahl von Speicher-Engines wie InnoDB, MyISAM usw. bereitstellt. Um die Leistung verschiedener Speicher-Engines zu bewerten, stellt MySQL das MTR-Tool (MySQL Test Run) zur Verfügung. In diesem Artikel wird erläutert, wie Sie MTR zur Leistungsbewertung verwenden, und es werden Codebeispiele bereitgestellt.
1. Verstehen Sie das MTR-Tool
MTR ist ein MySQL-Testtool, das ursprünglich in der MySQL-Testsuite verwendet wurde. Es verfügt über Funktionen wie die automatische Ausführung von Testskripten und Testframeworks und ermöglicht Benutzern das Schreiben benutzerdefinierter Testskripte. MTR kann tatsächliche Datenbank-Workloads simulieren und detaillierte Leistungsmetriken bereitstellen.
2. Installieren Sie das MTR-Tool
Zuerst müssen wir das MTR-Tool installieren. MTR kann von der offiziellen MySQL-Website heruntergeladen werden.
3. Testfälle erstellen
Erstellen Sie ein neues Verzeichnis unter dem MySQL-Testsuite-Verzeichnis und nennen Sie es „engine_perf“. Erstellen Sie in diesem Verzeichnis ein neues MTR-Testskript und nennen Sie es „engine_perf.test“.
Bearbeiten Sie die Skriptdatei und schreiben Sie das Testskriptbeispiel wie folgt:
---engine_perf.test---
--source include/have_innodb.inc # Stellen Sie die InnoDB-Speicher-Engine vor
-- source include/ have_myisam.inc # MyISAM-Speicher-Engine einführen
--disable_query_log # MTR-Abfrageprotokoll deaktivieren
--echo #
--echo # InnoDB-Speicher-Engine-Test
--echo #
- -disable_query_log # MTR-Abfrageprotokoll deaktivieren
CREATE TABLE innodb_table
(innodb_table
(
id
int(11) not null,
name
varchar(100) not null,
primary key (id
)
) engine=InnoDB;
--let $start_time=SELECT UNIX_TIMESTAMP(); # 记录开始时间
SET @i = 1;
WHILE @i <= 10000 DO
INSERT INTO innodb_table (id, name) VALUES (@i, CONCAT('Name', @i));
SET @i = @i + 1;
END WHILE;
--let $end_time=SELECT UNIX_TIMESTAMP(); # 记录结束时间
--enable_query_log # 启用MTR的查询日志
--echo InnoDB存储引擎测试结果:
--eval SELECT $end_time-$start_time as execution_time;
--disable_query_log # 禁用MTR的查询日志
--echo #
--echo # MyISAM存储引擎测试
--echo #
--disable_query_log # 禁用MTR的查询日志
CREATE TABLE myisam_table
(
id
int(11) not null,
name
varchar(100) not null,
primary key (id
id
int(11) not null,
name
varchar (100) not null,
id
)) engine=InnoDB;
Fügen Sie 10.000 Einträge in die ein InnoDB-Tabellendaten
SET @i = 1;
WHILE @i <= 10000 DO
INSERT INTO innodb_table (id, name) VALUES (@i, CONCAT('Name', @i));
END WHILE;
--let $end_time=SELECT UNIX_TIMESTAMP(); # Endzeit aufzeichnen
Leistungsindikatoren ausgeben
--disable_query_log # MTR-Abfrageprotokoll deaktivieren
MyISAM-Speicher-Engine-Test
MyISAM-Tabelle erstellen
CREATE TABLE myisam_table
(
id
int(11) not null, name
varchar(100) not null,
id
)) engine=MyISAM;
🎜--let $start_time=SELECT UNIX_TIMESTAMP(); # Startzeit aufzeichnen🎜🎜 Einfügen 10000 Daten in die MyISAM-Tabelle🎜🎜SET @i = 1;🎜WHILE @i <= 10000 DO🎜 INSERT INTO myisam_table (id, name) VALUES (@i, CONCAT('Name', @i)); 🎜 SET @i = @i + 1;🎜END WHILE;🎜🎜--let $end_time=SELECT UNIX_TIMESTAMP(); # Endzeit aufzeichnen🎜🎜--enable_query_log # MTR-Abfrageprotokoll aktivieren🎜🎜Leistungsindikatoren ausgeben🎜🎜-- echo MyISAM-Speicher-Engine-Testergebnisse: 🎜--eval SELECT $end_time-$start_time als Ausführungszeit;🎜🎜--disable_query_log # MTR-Abfrageprotokoll deaktivieren🎜🎜Das Obige ist ein grundlegendes Testskript. Es bewertet die Leistung verschiedener Speicher-Engines, indem es zwei Tabellen, InnoDB und MyISAM, erstellt und 10.000 Daten in die Tabellen einfügt. Nach Abschluss jedes Speicher-Engine-Tests wird die Ausführungszeit ausgegeben. 🎜🎜4. Führen Sie den Test aus. 🎜🎜🎜Geben Sie das MySQL-Testsuite-Verzeichnis im Terminal ein. 🎜🎜Führen Sie das MTR-Testskript aus. 🎜🎜./mtr engine_perf
Das obige ist der detaillierte Inhalt vonSo verwenden Sie MTR zur Leistungsbewertung der MySQL-Speicher-Engine. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!