Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    avril 2009
    Messages
    735
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : avril 2009
    Messages : 735
    Points : 389
    Points
    389

    Par défaut quel logiciel (commercial ou pas) pour analyser les log de postgresql ?

    bonjour,


    je suis à la recherche d'un outil qui analyse les logs de postgresql sous windows.

    Lequel me conseillez-vous ?

    J'en cherche un qui me permette de détecter quelle requête est le plus fait ?

    par exemple, si il voit dans les log ceci :

    update matable set champ1=45 where id=12
    update matable set champ1=46 where id=13

    et me sortirait dans un table une analyse comme ça :

    Nb execution |moy. temps exec | requete
    ________________________________________________
    2 | 12ms | update matable set champ1=INTwhere id=INT


    Si possible, il faut qu'il fonctionne sous windows, avec pg 8.2.

    merci de vos conseils.

  2. #2
    Expert Confirmé Sénior
    Homme Profil pro
    Inscrit en
    mai 2002
    Messages
    3 032
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2002
    Messages : 3 032
    Points : 4 599
    Points
    4 599

    Par défaut

    C'est le gros manque de postgresql je trouve.

    En fait la technique : activer les logs de l'instance (reboot necessaire...)
    Puis utiliser un programme de parse qui va analyser les logs ...

    Pour la contrainte windows je ne sais pas, mais en cherchant sur google avec "postgresql query analyzer" vous trouverez pas mal de programme gratuit qui font des reports de ce style (pgFouine, practical query analyzer, ...)

    Pour les versions payantes aucune idée.

  3. #3
    Membre Expert Avatar de scheu
    Inscrit en
    juin 2007
    Messages
    1 503
    Détails du profil
    Informations forums :
    Inscription : juin 2007
    Messages : 1 503
    Points : 1 495
    Points
    1 495

    Par défaut

    Le mieux que je connaisse est pgfouine (gratuit) qui te trie les requêtes par temps d'exécution, nombre d'exécutions, ...
    Sinon depuis la version 8.4 tu as la contrib auto_explain qui permet de voir les plans d'exécution des requêtes exécutées (surtout utile pour analyser les performances et pourquoi telle requête a été longue)

    Il n'existe pas à ma connaissance d'outil payant capable de faire mieux, ou sinon après il faut partir sur la version payante de Postgresql (Enterprise DB, qui propose un outil "Postgresql Enterprise Manager" qui a l'air pas mal)

    Dans tous les cas avec n'importe quel outil pour tracer les requêtes, le problème est qu'il faut souvent ne tracer que les requêtes longues (jouer sur le paramètre log_min_duration_statement) car si tu traces tout (log_min_duration_statement=0) ça va écrire toutes les requêtes dans le fichier de log et ça peut vite plomber les performances.
    Du coup pour ton besoin initial qui est de voir les requêtes les plus fréquemment exécutées, si tu veux aussi voir les requêtes qui ne prennent que quelques millisecondes, tu vas devoir tout tracer et donc attention aux perfs et à la taille de ton fichier de log
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •