Voir les requêtes SQL qui tournent sur le serveur ?

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


MoiG1smart
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 245
Inscription: Ven Juin 11, 2004 16:24

Voir les requêtes SQL qui tournent sur le serveur ?

Message le Sam Jan 22, 2005 9:09

Bonjour,

Suite à un problème de performances de mon site, mon hébergeur m'a indiqué que cela provenait d'un nombre trop important de requêtes SQL simultanées (notamment une requête qui mettait à jour des stats à chaque visite d'une page)

Afin de ne plus rencontrer ce problème, j'aimerais savoir s'il existe un outil GRATUIT (en payant je connais TOAD) qui permettre de suivre les requêtes SQL qui s'exécutent à un instant T sur ma base de données MySQL ?

Merci de vos réponses :wink:

Tex
WRInaute impliqué
WRInaute impliqué
 
Messages: 447
Inscription: Ven Juil 09, 2004 11:17

Message le Sam Jan 22, 2005 9:15

phpMyAdmin le fait, et il fait plein d'autres trucs aussi : il est indispensable en fait :) et gratuit de surcroit :)


MoiG1smart
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 245
Inscription: Ven Juin 11, 2004 16:24

Message le Sam Jan 22, 2005 9:28

Je dois lancer une requête SQL spécifique pour voir les requêtes qui tournent dans PhpMyAdmin ?

Tex
WRInaute impliqué
WRInaute impliqué
 
Messages: 447
Inscription: Ven Juil 09, 2004 11:17

Message le Sam Jan 22, 2005 9:31

si tu es sur un mutualisé il ya de fortes chances pour que tu ne puisse pas acceder a cette fonctionnalité depuis le phpMyAdmin de ton hebergeur, voir meme depuis un phpMyAdmin perso (sécurité oblige).

sinon c'est sur la page d'accueil de phpMyAdmin, tu as un lien "afficher les process en cours"


MoiG1smart
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 245
Inscription: Ven Juin 11, 2004 16:24

Message le Sam Jan 22, 2005 9:40

Effectivement j'ai bien ce lien, mais lorsque je clique dessus je ne vois qu'un processus... alors qu'il y a 70 visiteurs sur mon site !

Je suis effectivement sur un serveur mutualisé, peut-être que l'hébergeur a inhibé certaines fonctions pour que l'on ne puisse voir les requêtes qui tournent sur la BDD ? Ca serait dommage car cela peut-être très utile pour détecter un problème ou optimiser un script...

spijoelx
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 249
Inscription: Ven Fév 06, 2004 20:04

Message le Sam Jan 22, 2005 9:43

sans passer par phpmyadmin tu as la vraie commande mysql:

SHOW PROCESSLIST

qui affiche les processus mysql en cours d'utilisation avec la requete sql atachée à chacun

http://dev.mysql.com/doc/mysql/fr/SHOW_PROCESSLIST.html

Tex
WRInaute impliqué
WRInaute impliqué
 
Messages: 447
Inscription: Ven Juil 09, 2004 11:17

Message le Sam Jan 22, 2005 9:44

oui c'est probable qu'il ai viré la fonction dans mysql meme, sinon tu pourrai lire les requetes des autres et vice versa , ça serait bien qu'ils fassent un filtre pour ce genre de fonctions au lieu de faire un systeme on/off .

sinon pour optimiser un base de donnée, c'est souvent une affaire de clés, bien comprendre le concept et adapter au mieux selon les cas donnés.

Tex
WRInaute impliqué
WRInaute impliqué
 
Messages: 447
Inscription: Ven Juil 09, 2004 11:17

Message le Sam Jan 22, 2005 9:51

spijoelx a écrit:sans passer par phpmyadmin tu as la vraie commande mysql:

SHOW PROCESSLIST

qui affiche les processus mysql en cours d'utilisation avec la requete sql atachée à chacun

http://dev.mysql.com/doc/mysql/fr/SHOW_PROCESSLIST.html


vi mais si la commande sous phpMyAdmin ne retourne rien de concret c'est que le fonction a probablement été bypassée dans mysql même, sinon ça aurait été plus simple de virer le lien dans l'admin , ce qui n'est pas vraiment sécure de toutes façons :)


MoiG1smart
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 245
Inscription: Ven Juin 11, 2004 16:24

Message le Sam Jan 22, 2005 10:00

J'ai testé la commande suivante :

SHOW FULL PROCESS LIST

Ca me retourne un résultat avec les colonnes suivantes :
Id User Host db Command Time State Info

Command affiche "Query", Time "0" et State "NULL"

Ca ne me donne pas plus d'indications sur les requêtes en cours d'exécution... Je cherche dans la doc que tu as indiqué Spijoelx pour voir s'il ne faut pas ajouter une extension à cette requête pour voir les requêtes SQL lancées ou sortir une log des requêtes exécutée au cours de la dernière heure par exemple...

spijoelx
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 249
Inscription: Ven Fév 06, 2004 20:04

Message le Sam Jan 22, 2005 10:17

oui si ça ne marche pas avec phpmyadmin ça ne marchera pas avec la commande directement, mais c'était pour donner le vrai moyen sans passer par phpmyadmin :)

essaie de voir avec ton hébergeur pour qu'il t'envoie la liste puisque apparemment lui seul peut éxécuter cette commande

forumd
Nouveau WRInaute
 
Messages: 41
Inscription: Sam Juin 19, 2004 14:00

Message le Sam Jan 22, 2005 10:19

Merci pour cette info.

J'ai regarder sur le serveur et le sql indique une moyenne de 9 requettes / secondes ...

C'est beaucoup ou il y a de la marge ?

Tex
WRInaute impliqué
WRInaute impliqué
 
Messages: 447
Inscription: Ven Juil 09, 2004 11:17

Message le Sam Jan 22, 2005 11:19

ça va encore, enfin ça depend de la machine et de sa frequentation, mais d'une manière générale il faut une bonne 50aine de process pour commencer a s"inquietter, normalement a 100 le serveur rejette les requette (c parametrable).

Haq
WRInaute accro
WRInaute accro
 
Messages: 2104
Inscription: Jeu Aoû 29, 2002 21:18

Message le Sam Jan 22, 2005 11:33

Faites du cache !!! Ca économise mysql, votre serveur, et ça permet au visiteur d'avoir des pages qui s'affichent plus vite...

Sur mes sites, même les forums sont en cache...


hervelaf
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 161
Inscription: Mer Nov 13, 2002 9:08

Message le Sam Jan 22, 2005 12:32

Bonjour,

Le fait de mettre les pages en cache, ne peut-il pas poser problème si l'on a des Adsence sur son site ?

Haq
WRInaute accro
WRInaute accro
 
Messages: 2104
Inscription: Jeu Aoû 29, 2002 21:18

Message le Sam Jan 22, 2005 12:49

hervelaf a écrit:Bonjour,

Le fait de mettre les pages en cache, ne peut-il pas poser problème si l'on a des Adsence sur son site ?


Ben non... si tu veux un exemple, le site de mon url est quasiment à 100% en cache (fichiers qui ne sont mis à jour que tous les x jours ou quand le contenu change dans le cas du forum).

Les utilisateurs d'adsense ont d'ailleurs 2 fois plus de raisons de faire du cache: le robot d'adsense visite chaque page qui affiche leur pub, donc ça double quasiment le nombre de requêtes...

Voir les requêtes SQL qui tournent sur le serveur ?

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités