Pruebas de rendimiento en MySQL

Algo muy importante en cualquier desarrollo web son las pruebas de rendimiento, con ellas podremos prever cuales son los límites de nuestro sistema, ya sean a nivel de software o hardware. Las bases de datos deben ser algo fundamental en estas pruebas.

En el caso de MySQL, existe una herramienta disponible desde la versión 5.1.4 que nos permite realizar estas pruebas. mysqlslap es un programa de diagnóstico diseñado para emular la carga de un cliente para un servidor MySQL y ofrecer informes para cada estado. Funciona como si múltiples clientes accedieran a nuestro servidor.

mysqlslap [opciones] nombre_base_datos

Da la posibilidad de que las sentencias SQL se generen automáticamente, pero para unas pruebas correctas de rendimiento se deberían usar las sentencias que ejecuta nuestro sistema. Para lo cual recomiendo sacar por trazas las sentencias en un fichero y usar luego este fichero para simular a un usuario.

Hay que tener en cuenta que cuando lee un fichero usará para delimitar las queries el retorno de carro, por lo que cada query deberá ir en una única línea, aunque se puede usar la opción –delimiter para indicar la cadena delimitadora.

Son también importantes los campos –concurrency e –iterations, el primero indica el número de clientes simultáneos, y el segundo las veces que se ejecuta la prueba.

También es recomendable usar la aplicación jMeter para realizar nuestras pruebas.