Voy a hacer una presentación práctica en un par de semanas. Parte de esta demostración es para solucionar problemas básicos de mysql, incluido el uso del registro de consulta lento. He generado una base de datos e instalé nuestra aplicación, pero es una base de datos limpia y, por lo tanto, es difícil generar suficientes problemas.
He intentado lo siguiente para obtener consultas en el registro lento de consultas:
Establezca el tiempo de consulta lento en 1 segundo.
Múltiples índices eliminados.
Destacó el sistema:
stress --cpu 100 --io 100 --vm 2 --vm-bytes 128M --timeout 1m
Scripted algunas llamadas básicas de la página web usando wget.
Nada de esto ha generado consultas lentas. ¿Hay otra forma de estresar artificialmente la base de datos para generar problemas? No tengo suficientes habilidades para escribir un Jmeter complejo u otro generador de carga. Espero quizás algo integrado en mysql u otro truco de Linux más allá del estrés.
fuente
Respuestas:
Pedido mysqlslap . Puede pasar una de las consultas de su aplicación web con --query y especificar clientes concurrentes con --concurrency.
fuente
Totalmente artificial pero puedes usar la
sleep()
función:En el registro:
fuente
LOCK TABLES
funcionará. Eso puede ser demasiado torpe también.DO SLEEP(10);
si no desea el resultado de SLEEP en su consulta.¿Quizás ayudar a desactivar la base de datos? Por ejemplo, reducir el tamaño de key_buffers?
fuente