IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes PostgreSQL Discussion :

Requête très rapide dans pgadmin et très lente dans les logs, où est le problème ?


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 391
    Points : 863
    Points
    863
    Par défaut Requête très rapide dans pgadmin et très lente dans les logs, où est le problème ?
    bonjour,

    Sous pg82 sous windows, j'ai activé les logs à 100ms.

    dedans je vois des requêtes avec les durées.
    quand je fais un copie-collé dans pgadmin, la durée est totalement différente qu'en log.
    pourquoi ?

    par exemple cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT lower(calevent_resources.view),liste_dates FROM calevent_resources,calevent_item WHERE calevent_item.id=calevent_item_id  AND res_model='sale.order' AND order_id=7261 ORDER BY date_premiere
    est logée à "duration: 1014.999 ms"

    alors qu'un copié-collé de son sql dans pgadmin ne prend que 20ms !


    pourquoi ?

    J'ai plein de requêtes comme ça en fait !


    avez-vous une idée du pourquoi cette différence énorme ?

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Ca peut être dû au cache disque.
    Quand les données sont en cache, les requêtes sont évidemment plus rapides.

    Ca peut aussi être dû tout simplement au fait que la machine avait d'autres choses à faire que la requête lente à ce moment là.

  3. #3
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 391
    Points : 863
    Points
    863
    Par défaut
    Citation Envoyé par estofilo Voir le message
    Ca peut être dû au cache disque.
    Quand les données sont en cache, les requêtes sont évidemment plus rapides.

    Ca peut aussi être dû tout simplement au fait que la machine avait d'autres choses à faire que la requête lente à ce moment là.
    c'est bien malheureux tout ça ! Le log me dit qu'une requête prend du temps
    mais je ne connais pas les conditions d'éxécutions...

    à moins que je ne puisse aussi connaître et loggé l'état du cpu (% utilisation) au moment de l'éxecution de la requête.
    Mais j'ai bien regardé les possibilités de logs, il n'y en a aucune qui me donne l'état du cpu :

    log_line_prefix = '%t ' # Special values:
    # %u = user name
    # %d = database name
    # %r = remote host and port
    # %h = remote host
    # %p = PID
    # %t = timestamp (no milliseconds)
    # %m = timestamp with milliseconds
    # %i = command tag
    # %c = session id
    # %l = session line number
    # %s = session start timestamp
    # %x = transaction id
    # %q = stop here in non-session
    # processes
    # %% = '%'
    # e.g. '<%u%%%d> '
    à moins que ce ne soit autre part?

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Ca peut aussi venir d'un lock.

    Mais vu qu'il n'y a pas d'outil en natif pour analyser correctement ce que fait le sgbd ...

    pour la partie système va falloir recouper avec des outils d'analyse de votre systeme d'exploitation.
    http://wiki.postgresql.org/wiki/Perf...Analysis_Tools

Discussions similaires

  1. [MySQL] Requête multi-critère dans une table très simple
    Par flashnet dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 03/05/2013, 20h56
  2. Suppresion de fichiers dans la solution très lente
    Par snopims dans le forum Développement Web avec .NET
    Réponses: 2
    Dernier message: 30/03/2010, 16h02
  3. Partitionnement linux, disque très rapide et disque lent
    Par Alexandre T dans le forum Administration système
    Réponses: 1
    Dernier message: 19/12/2008, 17h58
  4. INSERT multiple : rapide pour 10 lignes, très lent pour 11 !
    Par alex.hitman dans le forum Requêtes
    Réponses: 1
    Dernier message: 17/08/2008, 22h19
  5. Cherche dans un fichier texte trés rapidement
    Par rvzip64 dans le forum Langage
    Réponses: 5
    Dernier message: 16/03/2006, 17h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo