Benchmark de MySQL

La herramienta típica para hacer Benchmark de MySQL es sysbench http://sysbench.sourceforge.net/

Se hace en dos pasos:

  • Preparar la tabla sobre la que se hará el testeo:
sysbench --test=oltp --db-driver=mysql --mysql-db=test --mysql-user=root --mysql-password=xxxxx
 --mysql-table-engine=innodb --oltp-table-size=1000000 prepare

Donde se indica que el driver será mysql, la base de datos test y el engine innodb con un tamaño de 1000000. La tabla tendrá el siguiente formato:

CREATE TABLE `sbtest` (`id` int(10) unsigned NOT NULL auto_increment, 
`k` int(10) unsigned NOT NULL default '0', `c` char(120) NOT NULL default '', 
`pad` char(60) NOT NULL default '', PRIMARY KEY  (`id`), KEY `k` (`k`));

  • Una vez preparada, lanzamos el benchmark:
sysbench --test=oltp --db-driver=mysql --mysql-db=test --mysql-user=root --mysql-password=xxxxx
--max-requests=10000 --num-threads=10 run

Lanzará 10 threads con un máximo de 10000 peticiones.

Si se desea volver a lanzar el benchmark es necesario eliminar la tabla de testo, reiniciar MySQL para vaciar buffers y caches.

Para ver todas las opciones existentes:

http://sysbench.sourceforge.net/docs/#database_mode


Comments