Pour quoi avons nous utilisé MySQL ?
<<<
La suite de tests MySQL Utiliser vos propres tests de performance
>>>

7.1 Présentation de l'optimisation
7 Optimisation de MySQL
 Manuel de Référence MySQL 4.1 : Version Française

Limitations et inconvénients des choix conceptuels de MySQL
Portabilité
Pour quoi avons nous utilisé MySQL ?
->La suite de tests MySQL
Utiliser vos propres tests de performance

7.1.4 La suite de tests MySQL

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 ( Installer à partir des sources de l'arbre 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. 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

Vous pouvez retrouver les résultats de crash-me sur de nombreuses bases de données à http://www.mysql.com/information/crash-me.php .

<< La suite de tests MySQL >>
Pour quoi avons nous utilisé MySQL ? Présentation de l'optimisation Utiliser vos propres tests de performance