Sur un site en PHP/MySQL, je cherche à mesurer la durée d'exécution
d'une requête... mais sans la durée de la connexion de PHP à la base MySQL.
La doc MySQL précise que toutes les fonctions CurDate et autres sont
évaluées une seule fois au début de l'exécution, donc pas moyen
d'utiliser ça.
Faire une première requête d'obtention de la sysdate, lancer la requête
à exécuter puis une troisième visant à obtenir à nouveau la sysdate me
semble ne faire que multiplier le temps de connexion par trois, alors
que je cherche à l'éliminer ?
La solution sur laquelle je suis en ce moment consiste à faire un
"tarage" de mes durée. Je mesure la durée d'une requête minimale "SELECT
1", y compris l'aller-retour entre PHP et MySQL, et cela me donne ma tare.
Je mesure ensuite la durée de ma requête, toujours aller-retour
PHP/MySQL compris. Le temps d'exécution "pur" serait donc
durée_requête - tare.
Ce n'est pas très propre et les résultats le sont encore moins. Le pb
est que les durées sont très aléatoires, et qu'il arrive
fréquemment que la tare soit supérieure à la durée de la requête...
j'essaie de lisser tout cela en faisant une moyenne sur 100 exécutions
de chaque requête, et cela améliore un peu les choses, mais pas
énormément...
voyez-vous ce qui cloche ? avez-vous de meilleures idées ?
Par ailleurs, phpMyAdmin donne des durées de requêtes. Savez-vous
comment elles sont mesurées ?
Oui, essaye avec MySQL controle que tu trouves sur mysql.com ou DBdesigner J'ai fait quelques tests, le deux donnent le même résultat à la différence que DBDesigner indique 3 chiffres après la virgule tandis que MySQL Controle en donne 2.
OK, je vais essayer... peuvent-ils être utilisés dynamiquement par un site PHP, ou seulement interrogés "à la main" par un programmeur ?
Oui, essaye avec MySQL controle que tu trouves sur mysql.com ou DBdesigner
J'ai fait quelques tests, le deux donnent le même résultat à la différence que DBDesigner indique 3 chiffres après la
virgule tandis que MySQL Controle en donne 2.
OK, je vais essayer... peuvent-ils être utilisés dynamiquement par un
site PHP, ou seulement interrogés "à la main" par un programmeur ?
Oui, essaye avec MySQL controle que tu trouves sur mysql.com ou DBdesigner J'ai fait quelques tests, le deux donnent le même résultat à la différence que DBDesigner indique 3 chiffres après la virgule tandis que MySQL Controle en donne 2.
OK, je vais essayer... peuvent-ils être utilisés dynamiquement par un site PHP, ou seulement interrogés "à la main" par un programmeur ?
Nevr0tyk
"Antoine Dinimant" a écrit dans le message de news:
Bonjour,
Sur un site en PHP/MySQL, je cherche à mesurer la durée d'exécution d'une requête... mais sans la durée de la connexion de PHP à la base
MySQL.
T'as regardé la fonction BENCHMARK() de MySQL ? http://dev.mysql.com/doc/mysql/fr/Query_Speed.html
J'espère que ça pourra t'aider. A+
"Antoine Dinimant" <antoun@free.fr> a écrit dans le message de
news:40A7C5D5.5050606@free.fr...
Bonjour,
Sur un site en PHP/MySQL, je cherche à mesurer la durée d'exécution
d'une requête... mais sans la durée de la connexion de PHP à la base
MySQL.
T'as regardé la fonction BENCHMARK() de MySQL ?
http://dev.mysql.com/doc/mysql/fr/Query_Speed.html
"Antoine Dinimant" a écrit dans le message de news:
Bonjour,
Sur un site en PHP/MySQL, je cherche à mesurer la durée d'exécution d'une requête... mais sans la durée de la connexion de PHP à la base
MySQL.
T'as regardé la fonction BENCHMARK() de MySQL ? http://dev.mysql.com/doc/mysql/fr/Query_Speed.html
J'espère que ça pourra t'aider. A+
Antoine Dinimant
T'as regardé la fonction BENCHMARK() de MySQL ? http://dev.mysql.com/doc/mysql/fr/Query_Speed.html
Je ne connaissais pas et c'est très intéressant... Comme tous les trucs en ligne de commande, ça ne me semble pas intégrable dans un site, mais ça me servira dans plein d'autres occasions !
Merci beaucoup !
Antoun
T'as regardé la fonction BENCHMARK() de MySQL ?
http://dev.mysql.com/doc/mysql/fr/Query_Speed.html
Je ne connaissais pas et c'est très intéressant... Comme tous les trucs
en ligne de commande, ça ne me semble pas intégrable dans un site, mais
ça me servira dans plein d'autres occasions !
T'as regardé la fonction BENCHMARK() de MySQL ? http://dev.mysql.com/doc/mysql/fr/Query_Speed.html
Je ne connaissais pas et c'est très intéressant... Comme tous les trucs en ligne de commande, ça ne me semble pas intégrable dans un site, mais ça me servira dans plein d'autres occasions !
Merci beaucoup !
Antoun
Stéphane
"Antoine Dinimant" a écrit:
> Oui, essaye avec MySQL controle que tu trouves sur mysql.com ou DBdesigner > J'ai fait quelques tests, le deux donnent le même résultat à la différence que DBDesigner indique 3 chiffres après
la
> virgule tandis que MySQL Controle en donne 2.
OK, je vais essayer... peuvent-ils être utilisés dynamiquement par un site PHP, ou seulement interrogés "à la main" par un programmeur ?
Une fois la requette construite, tu peux pour commencer l'enregisrter dans un bibliotèque (DBdesigner), puis les interger dans du code PHP.
Depuis que j'ai découvert DBdesigner, je ne peux plus m'en passer.
Stéphane La souplesse d'esprit permet de s'adapter dans toutes circonstances.
http://www.velo-passion.com pour les fans de vélo http://www.lorimier.com/chemin-des-cretes-du-jura une ballade à pied d'une semaine à 2 http://www.baby-boum.ch l'enfant n'est-il pas l'avenir de l'homme?
"Antoine Dinimant" a écrit:
> Oui, essaye avec MySQL controle que tu trouves sur mysql.com ou DBdesigner
> J'ai fait quelques tests, le deux donnent le même résultat à la différence que DBDesigner indique 3 chiffres après
la
> virgule tandis que MySQL Controle en donne 2.
OK, je vais essayer... peuvent-ils être utilisés dynamiquement par un
site PHP, ou seulement interrogés "à la main" par un programmeur ?
Une fois la requette construite, tu peux pour commencer l'enregisrter dans un bibliotèque (DBdesigner), puis les
interger dans du code PHP.
Depuis que j'ai découvert DBdesigner, je ne peux plus m'en passer.
Stéphane
La souplesse d'esprit permet de s'adapter dans toutes circonstances.
http://www.velo-passion.com pour les fans de vélo
http://www.lorimier.com/chemin-des-cretes-du-jura une ballade à pied d'une semaine à 2
http://www.baby-boum.ch l'enfant n'est-il pas l'avenir de l'homme?
> Oui, essaye avec MySQL controle que tu trouves sur mysql.com ou DBdesigner > J'ai fait quelques tests, le deux donnent le même résultat à la différence que DBDesigner indique 3 chiffres après
la
> virgule tandis que MySQL Controle en donne 2.
OK, je vais essayer... peuvent-ils être utilisés dynamiquement par un site PHP, ou seulement interrogés "à la main" par un programmeur ?
Une fois la requette construite, tu peux pour commencer l'enregisrter dans un bibliotèque (DBdesigner), puis les interger dans du code PHP.
Depuis que j'ai découvert DBdesigner, je ne peux plus m'en passer.
Stéphane La souplesse d'esprit permet de s'adapter dans toutes circonstances.
http://www.velo-passion.com pour les fans de vélo http://www.lorimier.com/chemin-des-cretes-du-jura une ballade à pied d'une semaine à 2 http://www.baby-boum.ch l'enfant n'est-il pas l'avenir de l'homme?