2012-03-22 8 views
0

Je lance des centaines de scripts PHP simultanément. Pour avoir un aperçu de 'activty', je fais une SHOW PROCESSLIST dans mySql. Cela renvoie 5 processus, y compris SHOW PROCESSLIST. Je me demande donc où tous les autres processus en attente sont avant d'être traités. Y a-t-il une commande pour les voir? Merci pour vos réponses. À votre santé. MarcMySql - Où sont les processus en attente?

Répondre

0

Essayez ceci:

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST 

Si vous voyez pas ce que vous attendez, alors script PHP ne fait pas la requête dans le temps cette sélectionnez fonctionne.

Plus d'informations sur les threads serveur vous pouvez trouver here

Vous pouvez également utiliser mysqlproxy pour tout voir.

+0

Bonjour rkosegi. La requête que vous avez suggérée ne renvoie que 5 lignes (y compris votre requête). Je ne comprends pas comme lorsque je vérifie les instantanés de SHOW FULL PROCESSLIST sur Internet, il y a beaucoup de lignes, et pas seulement 5. Savez-vous ce qui peut expliquer ce comportement? – Marc

+0

Combien de temps prend vos requêtes? dans le cas de sélections simples, vous ne les verrez pas, veuillez vérifier mysqlproxy, cela peut être utile, vous pouvez voir les requêtes en ligne comment ils arrivent sur le serveur – rkosegi

+0

Mes requêtes sont de longues requêtes qui collectent des données puis insèrent ces données dans ma base de données. Environ 400 lignes insérées par fichier. Et j'ai un peu plus de cent fichiers déclenchés simultanément. Chaque fichier php dure environ 10 minutes ... – Marc

0

Voir le manuel, et en particulier:

http://dev.mysql.com/doc/refman/5.6/en/show-processlist.html

Si vous avez le privilège de processus, vous pouvez voir toutes les discussions. Dans le cas contraire, vous pouvez voir que vos propres fils (qui est, les fils associés à le compte MySQL que vous utilisez)

Peut-être que le script php et le client faire SHOW PROCESSLIST utilisent un autre compte ...

+0

Bonjour Marc. Merci d'avoir essayé d'aider. La chose est que je suis le seul utilisateur. Tout est donc déclenché avec le même compte. La liste de processus n'a à aucun moment 5 processus même si j'ai lancé 100 requêtes. Lorsqu'un processus de la liste de processus est terminé, il disparaît de la liste et est remplacé par un processus qui était en 'file d'attente'. J'étudie si cela pourrait être lié au fait que je trime les cent requêtes en même temps ... – Marc

Questions connexes