Faire un test de résistance d’un serveur MySQL

Pour tester un serveur MySQL en situation de charge, et/ou voir comment se comporte une base de données sous un nombre importants de requêtes et ainsi tester diverses optimisations de sa structure, Oracle fournit un outil nommé mysqlslap qui permet de faire facilement un benchmark :

mysqlslap --host=localhost --concurrency=50 --iterations=100 --verbose --create-schema=maBaseDeDonnees --query="SELECT * FROM maTable WHERE 1+1=2 ORDER BY rand() LIMIT 1000"

L’option –concurrency permet de spécifier le nombre de sessions simultanées à ouvrir.

L’option –iterations permet de spécifier le nombre de fois où la requêtes sera exécutée sur chaque session.