Maison > base de données > tutoriel mysql > le corps du texte

Introduction détaillée aux tests de résistance du cluster MySQL

不言
Libérer: 2019-02-14 11:56:11
avant
2461 Les gens l'ont consulté

Cet article vous apporte une introduction détaillée aux tests de stress du cluster MySQL. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

test de stress mysql

mysql est livré avec un outil de test de stress appelé mysqlslap, qui effectue des tests de stress en simulant plusieurs clients simultanés accédant à MySQL, et peut bien comparer plusieurs La différence dans les performances de pression de concurrence du stockage moteurs dans le même environnement. Les options disponibles peuvent être obtenues via mysqlslap –help Voici quelques paramètres principaux Pour des instructions plus détaillées, reportez-vous au manuel officiel. S'il s'agit de MySQL fourni avec le système ou s'il est installé à l'aide du package RPM, le package client MySQL contient l'outil mysqlslap. (Cours recommandés : Tutoriel MySQL)

Introduction à l'environnement de test :

Deux machines virtuelles avec séparation en lecture et écriture MySQL 2G

La syntaxe d'utilisation est la suivante suit :

# mysqlslap [options]

Paramètres communs [options] Description détaillée :

--auto-generate-sql, -a génère automatiquement des tables et des données de test, indiquant l'utilisation de l'outil mysqlslap lui-même. Script SQL généré pour tester le stress de concurrence.

--auto-generate-sql-load-type=type Le type d'instruction de test. Indique si l'environnement à tester est une opération de lecture, une opération d'écriture ou un mélange des deux. Les valeurs incluent : lecture, clé, écriture, mise à jour et mixte (par défaut).

--auto-generate-sql-add-auto-increment signifie l'ajout automatique de la colonne auto_increment à la table générée, pris en charge à partir de la version 5.1.18.

--number-char-cols=N, -x N Combien de colonnes de types de caractères sont incluses dans la table de test générée automatiquement, par défaut 1

--number-int-cols=N , -y N Combien de colonnes numériques sont incluses dans la table de test générée automatiquement, par défaut 1

--number-of-queries=N Nombre total de requêtes de test (nombre de clients simultanés × nombre de requêtes par client )

--query=name,-q Utilisez un script personnalisé pour exécuter le test. Par exemple, vous pouvez appeler une procédure stockée personnalisée ou une instruction SQL pour exécuter le test.

--create-schema représente le nom de la bibliothèque de tests personnalisée et le schéma de test. Le schéma dans MySQL est également la base de données.

--commint=N Combien de DML doivent être soumis une fois.

--compress, -C Si le serveur et le client prennent en charge la compression, compressez les informations à transmettre.

--concurrency=N, -c N représente le degré de concurrence, c'est-à-dire le nombre de clients simulés pour exécuter select en même temps. Plusieurs valeurs peuvent être spécifiées, en utilisant des virgules ou la valeur spécifiée par le paramètre --delimiter comme séparateur. Par exemple : --concurrency=100 200 500.

--engine=engine_name, -e engine_name représente le moteur à tester. Il peut y avoir plusieurs moteurs, séparés par des séparateurs. Par exemple : --engines=myisam,innodb.

--iterations=N, -i N Le nombre d'itérations d'exécution du test, qui représente le nombre de fois que le test doit être exécuté dans différents environnements simultanés.

--only-print imprime uniquement l'instruction de test sans réellement l'exécuter.

--detach=N Déconnectez-vous et reconnectez-vous après avoir exécuté N instructions.

--debug-info, -T Imprimer les informations relatives à la mémoire et au processeur.

Remarque :

Le processus de test nécessite de générer une table de test et d'insérer des données de test. Ce mysqlslap peut être généré automatiquement. Un schéma mysqlslap est généré par défaut. supprimé en premier. Vous pouvez utiliser --only-print pour imprimer le processus de test réel, et aucune trace ne sera laissée dans la base de données une fois le test terminé.

mysqlslap -a -c 150 -i 10 -uroot -proot1234 Lors du test du nombre de connexions MySQL à 150

Introduction détaillée aux tests de résistance du cluster MySQL

Lorsque le nombre de concurrences du test de résistance a atteint 200, la connexion s'est effondrée

Introduction détaillée aux tests de résistance du cluster MySQL[1]

Exemple de test :

Test monothread.

# mysqlslap -a -uroot -proot1234

Introduction détaillée aux tests de résistance du cluster MySQL[2]

Tests multithread, test de concurrence.

# mysqlslap -a -c 100 -uroot -proot1234

Introduction détaillée aux tests de résistance du cluster MySQL[3]

Lorsque le nombre de concurrence atteint 100, le temps de requête de recherche est supérieur à 1 s

Tests itératifs. Utilisé pour effectuer des tests plusieurs fois pour obtenir une moyenne.

# mysqlslap -a -i 10 -uroot -proot1234

Introduction détaillée aux tests de résistance du cluster MySQL[4]

Testez et comparez les performances de différents moteurs de stockage en même temps :

# mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --iterations=5 --engine=myisam,innodb -uroot -proot1234

Exécuter un test avec 50 et 100 simultanéités respectivement , exécutez 1000 requêtes au total :

Introduction détaillée aux tests de résistance du cluster MySQL[5]

Il est évident que les performances de la requête innodb sont meilleures

# mysqlslap -a --concurrency=50,100 --number-of -requêtes 1000 -uroot -proot1234

Introduction détaillée aux tests de résistance du cluster MySQL[6]

50 et 100 simultanéités obtiendront respectivement un résultat de test (Benchmark). Plus il y a de simultanéité, plus il faudra de temps pour exécuter toutes les requêtes. Par souci de précision, vous pouvez répéter le test plusieurs fois :

# mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --iterations=5 -uroot -proot1234

Introduction détaillée aux tests de résistance du cluster MySQL[7]

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!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal