4
Aug/08
2

Sysbench pour créer et mesurer une charge de travail

J’ai découvert un outil génial aujourd’hui : Sysbench.

SysBench is a modular, cross-platform and multi-threaded benchmark tool for evaluating OS parameters that are important for a system running a database under intensive load.

L’outil a initialement été créé pour MySQL, mais le projet a été étendu pour être utilisable sur plusieurs bases de données différentes. Un truc bien, c’est qu’on peut utiliser Sysbench sur un serveur qui ne possède même pas de base de données! Le but n’étant pas nécessairement de tester votre configuration de base de données, mais de comprendre comment le serveur supporte des charges importantes, il est possible de créer une charge avec de simples fichiers texte (comme c’est le cas pour MyISAM).

Le principe de base est simple, Sysbench exécute des requêtes en lecture ou écriture, selon un nombre spécifique de threads, sur les fichiers ou sur une table via une connexion au SGBD. Il est simple d’utilisation et les résultats sont faciles à comprendre.

Malheureusement, le projet ne semble pas maintenu. La dernière version remonte à octobre 2006 sur SourceForce (le dernier changelog sur le site indique octobre 2004). Il est distribué sous la licence GNU/GPL, il peut donc à priori être modifié et distribué par n’importe qui. De plus, modifier directement le code source serait le seul moyen de créer des tests personnalisés. Mais ne vous en faites pas, le code est bien commenté et simple à comprendre.

Grâce à Sysbench, j’ai pu découvrir un problème d’écriture intensive sur un serveur. C’est un outil dont je vais prendre l’habitude d’utiliser sur plusieurs serveurs. Sa simplicité permet même d’automatiser les benchmarks et de stocker les résultats dans un log.