Maison  >  Article  >  base de données  >  Comment utiliser MTR pour effectuer une évaluation des performances du moteur de stockage MySQL

Comment utiliser MTR pour effectuer une évaluation des performances du moteur de stockage MySQL

WBOY
WBOYoriginal
2023-07-12 15:05:231438parcourir

Comment utiliser MTR pour effectuer une évaluation des performances du moteur de stockage MySQL

Introduction :
MySQL est un système de gestion de base de données relationnelle courant qui fournit une variété de moteurs de stockage, tels que InnoDB, MyISAM, etc. Afin d'évaluer les performances des différents moteurs de stockage, MySQL fournit l'outil MTR (MySQL Test Run). Cet article explique comment utiliser MTR pour l'évaluation des performances et fournit des exemples de code.

1. Comprendre l'outil MTR

MTR est un outil de test MySQL, utilisé à l'origine dans la suite de tests MySQL. Il possède des fonctions telles que l'exécution automatique de scripts de test et de frameworks de test, et permet aux utilisateurs d'écrire des scripts de test personnalisés. MTR peut simuler les charges de travail réelles des bases de données et fournir des mesures de performances détaillées.

2. Installez l'outil MTR

Tout d'abord, nous devons installer l'outil MTR. MTR peut être téléchargé depuis le site officiel de MySQL.

3. Créez des cas de test

  1. Créez un script d'évaluation des performances du moteur de stockage

Créez un nouveau répertoire sous le répertoire de la suite de tests MySQL et nommez-le "engine_perf". Créez un nouveau script de test MTR dans ce répertoire et nommez-le "engine_perf.test".

Modifiez le fichier de script et écrivez l'exemple de script de test comme suit :

---engine_perf.test---

Description du cas de test

--source include/have_innodb.inc # Présentez le moteur de stockage InnoDB
-- source include/ have_myisam.inc # Présenter le moteur de stockage MyISAM

--disable_query_log # Désactiver le journal des requêtes MTR

Test du moteur de stockage InnoDB

--echo #
--echo # Test du moteur de stockage InnoDB
--echo #

- -disable_query_log # Désactiver le journal des requêtes MTR

Créer une table InnoDB

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(); # 记录开始时间

向InnoDB表插入10000条数据

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的查询日志

MyISAM存储引擎测试

--echo #
--echo # MyISAM存储引擎测试
--echo #

--disable_query_log # 禁用MTR的查询日志

创建MyISAM表

CREATE TABLE myisam_table (
id int(11) not null,
name varchar(100) not null,
primary key (id id int(11) non nul,
nom varchar (100) non nul,

clé primaire (id)

) engine=InnoDB;

--let $start_time=SELECT UNIX_TIMESTAMP(); # Enregistrer l'heure de début

Insérer 10 000 entrées dans le Données de la table InnoDB

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(); # Enregistrer l'heure de fin

--enable_query_log # Activer le journal des requêtes MTR

Indicateurs de performances de sortie

--echo InnoDB test du moteur de stockage résultats :

--eval SELECT $end_time-$start_time as exécution_time;

--disable_query_log # Désactiver le journal des requêtes MTR

Test du moteur de stockage MyISAM

    --echo #
  1. --echo # Test du moteur de stockage MyISAM
  2. --echo #
  3. --disable_query_log # Désactiver le journal des requêtes MTR

Créer une table MyISAM

CREATE TABLE myisam_table (

id int(11) non nul,

nom varchar(100) non nul,

clé primaire (id)

) engine=MyISAM;

🎜--let $start_time=SELECT UNIX_TIMESTAMP(); # Enregistrer l'heure de début🎜🎜 Insérer 10000 éléments de données dans la table MyISAM🎜🎜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(); # Enregistrer l'heure de fin🎜🎜--enable_query_log # Activer le journal des requêtes MTR🎜🎜Indicateurs de performances de sortie🎜🎜-- echo Résultats du test du moteur de stockage MyISAM :🎜--eval SELECT $end_time-$start_time as exécution_time;🎜🎜--disable_query_log # Désactiver le journal des requêtes MTR🎜🎜Ce qui précède est un script de test de base. Il évalue les performances de différents moteurs de stockage en créant deux tables, InnoDB et MyISAM, et en insérant 10 000 éléments de données dans les tables. Une fois chaque test du moteur de stockage terminé, le temps d'exécution sera affiché. 🎜🎜4. Exécutez le test 🎜🎜🎜Entrez le répertoire de la suite de tests MySQL dans le terminal. 🎜🎜Exécutez le script de test MTR. 🎜🎜
./mtr engine_perf
🎜MTR exécutera le script de test et produira des indicateurs de performance. 🎜🎜L'exemple de code n'est qu'un script de test de base que vous pouvez modifier et étendre en fonction de vos besoins réels. En écrivant des scripts de test plus complexes, vous pouvez effectuer une évaluation plus complète et détaillée des performances du moteur de stockage de MySQL. 🎜🎜Conclusion : 🎜🎜Cet article décrit comment utiliser MTR pour effectuer une évaluation des performances du moteur de stockage MySQL et fournit un exemple de script de test de base. En utilisant les outils MTR, nous pouvons simuler les charges de travail réelles des bases de données et obtenir des indicateurs de performances détaillés pour évaluer les performances des différents moteurs de stockage. J'espère que cet article vous aidera à comprendre l'outil MTR et à évaluer les performances du moteur de stockage MySQL. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn