Je donne une présentation pratique dans quelques semaines. Une partie de cette démo concerne le dépannage de base de mysql, y compris l'utilisation du journal des requêtes lentes. J'ai généré une base de données et installé notre application, mais c'est une base de données propre et donc difficile de générer suffisamment de problèmes.
J'ai essayé ce qui suit pour obtenir des requêtes dans le journal des requêtes lentes:
Définissez le temps de requête lent sur 1 seconde.
Plusieurs index supprimés.
A souligné le système:
stress --cpu 100 --io 100 --vm 2 --vm-bytes 128M --timeout 1m
Scripté quelques appels de page Web de base en utilisant wget.
Rien de tout cela n'a généré de requêtes lentes. Existe-t-il un autre moyen de solliciter artificiellement la base de données pour générer des problèmes? Je n'ai pas assez de compétences pour écrire un Jmeter complexe ou un autre générateur de charge. J'espère peut-être quelque chose de intégré à mysql ou une autre astuce Linux au-delà du stress.
la source
Réponses:
Commander mysqlslap . Vous pouvez transmettre l'une des requêtes de votre application Web avec --query et spécifier des clients simultanés avec --concurrency.
la source
Totalement artificiel mais vous pouvez utiliser la
sleep()
fonction:Dans le journal:
la source
LOCK TABLES
fonctionnera. Cela peut aussi être trop compliqué.DO SLEEP(10);
si vous ne voulez pas que le résultat de SLEEP soit dans votre requête.Peut-être que le réglage de la base de données pourrait être utile? Par exemple, réduire la taille de key_buffers?
la source