Cómo probar el rendimiento y la estabilidad de MySQL
mysqlslap
mysqlslap puede simular la carga del servidor y generar información de tiempo. Está incluido en la versión MySQL 5.1 y debería estar disponible en MySQL 4.1 o posterior. Al ejecutar esta prueba, puede utilizar la cantidad de conexiones simultáneas y una declaración SQL específica (ya sea en la línea de comando o escribiendo la declaración SQL en un archivo de parámetros). Si no se especifica ninguna declaración SQL, mysqlslap generará automáticamente una declaración SELECT en modo de consulta.
MySQL Benchmark Suite (sql-bench)
La distribución MySQL también proporciona un conjunto de pruebas propio que se puede utilizar para pruebas comparativas en diferentes servidores de bases de datos. Tiene un solo subproceso y se utiliza principalmente para probar la velocidad del servidor que ejecuta consultas. Los resultados mostrarán qué tipos de operaciones se realizan más rápido en el servidor.
La principal ventaja de este conjunto de pruebas es que contiene una gran cantidad de pruebas predefinidas fáciles de usar, por lo que se puede utilizar fácilmente para comparar pruebas de rendimiento de diferentes motores de almacenamiento o diferentes configuraciones. También se puede utilizar para pruebas avanzadas para comparar el rendimiento general de dos servidores. Por supuesto, también es posible ejecutar solo un subconjunto de las pruebas predefinidas (por ejemplo, solo ACTUALIZAR el rendimiento). La mayoría de estas pruebas requieren un uso intensivo de la CPU, pero también hay algunas pruebas breves que requieren operaciones extensas de E/S de disco.
Las mayores desventajas de esta suite son principalmente que es un modo de usuario único, el conjunto de datos probado es pequeño y no está especificado por el usuario, y los resultados de múltiples ejecuciones de la misma prueba pueden ser muy diferentes. . Dado que se ejecuta en serie en un solo subproceso, no puede probar capacidades de múltiples CPU y solo puede usarse para comparar las diferencias de rendimiento de servidores de una sola CPU. La prueba de servidores de bases de datos con esta suite también requiere compatibilidad con Perl y BDB; consulte .NET Framework 3.0 para obtener más detalles.
Super Smack
Super Smack es una herramienta de evaluación comparativa para MySQL y PostgreSQL que proporciona pruebas de estrés y capacidades de generación de carga. Es una herramienta compleja y poderosa que puede simular el acceso de múltiples usuarios, cargar datos de prueba en la base de datos y admitir el llenado de tablas de prueba con datos aleatorios. Las pruebas se definen en archivos "smack", que utilizan una sintaxis simple para definir clientes de prueba, tablas, consultas y otros elementos de prueba.
Database Test Suite
Diseñado por el Open Source Development Laboratory (OSDL) y publicado en SourceForge, Database Test Suite es un conjunto de herramientas de prueba similares a las utilizadas en algunas industrias. Estándar pruebas, como un arnés de prueba para el procesamiento de transacciones. De particular interés es dbt2, una herramienta de prueba TPC-C OLTP gratuita (no certificada). El autor de este libro utilizó esta herramienta con frecuencia, pero ahora la reemplazó con su propia herramienta de prueba específica de MySQL.
Herramientas TPCC-MySQL de Percona
Hemos desarrollado un conjunto de herramientas de evaluación comparativa similar a TPC-C, algunas de las cuales fueron desarrolladas específicamente para pruebas de MySQL. Usamos esta herramienta con frecuencia cuando evaluamos ciertos comportamientos de MySQL bajo alto estrés (para pruebas simples, a menudo se usa sysbench en su lugar), y hay una breve documentación sobre ella en el repositorio de código fuente.
sysbench
sysbench es una herramienta de prueba de estrés del sistema multiproceso. Puede evaluar el rendimiento del sistema en función de varios factores que afectan el rendimiento del servidor de la base de datos. Por ejemplo, se puede utilizar para probar la E/S de archivos, los programadores del sistema operativo, la asignación de memoria y las velocidades de transferencia, los subprocesos POSIX y los servidores de bases de datos.
sysbench admite el lenguaje de programación Lua y Lua puede configurar varios escenarios de prueba de manera muy flexible. (Extraído de "MySQL de alto rendimiento")