Ceci devrait comprendre une description technique de la suite de
tests de performances de MySQL (et crash-me
),
mais cette description n'est pas encore écrite. Actuellement,
vous pouvez vous faire une idée des tests en regardant le code
et les résultats dans le répertoire
sql-bench
dans toutes les distributions de
sources de MySQL.
Cette suite de test est censée permettre à utilisateur de comparer ce qu'une implémentation SQL donnée réussi bien ou mal.
Sachez que ces tests de performances lancent en un seul thread, donc il mesure le temps minimum pour chaque opération. Nous projetons pour le futur d'ajouter de nombreux tests multi-thread à cette suite de tests.
Par exemple, (tous ont été lancés sur une même machine NT 4.0)
Lecture de 2000000 lignes indexées | Secondes | Secondes |
mysql | 367 | 249 |
mysql_odbc | 464 | |
db2_odbc | 1206 | |
informix_odbc | 121126 | |
ms-sql_odbc | 1634 | |
oracle_odbc | 20800 | |
solid_odbc | 877 | |
sybase_odbc | 17614 |
Insertion de lignes (350768 | Secondes | Secondes |
mysql | 381 | 206 |
mysql_odbc | 619 | |
db2_odbc | 3460 | |
informix_odbc | 2692 | |
ms-sql_odbc | 4012 | |
oracle_odbc | 11291 | |
solid_odbc | 1801 | |
sybase_odbc | 4802 |
Le test ci-dessus a été exécuté avec un index de cache de 8 Mo.
Nous avons rassemblé d'autres résultats de tests à http://www.mysql.com/information/benchmarks.html.
Notez que Oracle n'est pas inclus dans ces tests car ils ont demandé à être retirés. Tous les tests d'Oracle doivent être faits par Oracle! Nous croyons que cette politique va biaiser fortement les tests en faveur de Oracle, car les tests ci-dessus sont supposés montrer ce qu'une installation simple peut faire pour un client simple.
Pour utiliser la suite de tests, les prerequis suivants doivent être vérifiés :
La suite de tests est disponible dans la distribution source de MySQL, et vous devez avoir téléchargé cette distribution. Vous pouvez télécharger la version publiée sur le site de http://www.mysql.com/downloads/, ou utiliser celle du serveur de développement (see Section 2.4.3, « Installer à partir de l'arbre source de développement »).
Les scripts de tests ont été écrits en Perl, et utilisent
le module Perl DBI
pour accéder aux
serveurs, donc DBI
doit être installée.
Vous aurez aussi besoin des pilotes spécifiques DBD de
chaque serveur que vous voulez tester. Par exemple, pour
tester MySQL, PostgreSQL et DB2, les modules DBD::mysql,
DBD::Pg et DBD::DB2 doivent être installés. See
Section 2.9, « Commentaires sur l'installation de Perl ».
La suite de tests est située dans le dossier
sql-bench
de la distribution source de
MySQL. Pour exécuter la suite de tests, compilez MySQL, puis
allez dans le dossier sql-bench
et
exécutez le script run-all-tests
:
shell>cd sql-bench
shell>perl run-all-tests --server=server_name
server_name
est un des serveurs supportés.
Pour avoir la liste de toutes les options et serveurs
supportés. utilisez cette commande :
shell> perl run-all-tests --help
Le script crash-me
est aussi situé dans le
dossier sql-bench
.
crash-me
essaie de déterminer quelles
fonctionnalités un serveur supporte, et quelles sont ses
limitations. Par exemple, le test détermine :
Les types de colonnes supportés
Le nombre d'index supportés
Les fonctions supportées
La taille maximale d'une requête
La taille maximale d'une colonne VARCHAR
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.