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 :

Lenteur extrême PostgreSQL


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre habitué Avatar de donnadieujulien
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    433
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 433
    Points : 191
    Points
    191
    Par défaut Lenteur extrême PostgreSQL
    Bonjour,

    je cherche à optimiser les temps de traitement sur une base assez volumineuse.
    En effet, cette base contient plus de 4000 schémas, 50 tables / schéma en moyenne et entre 5 et 10 champs par table.

    Le nombre d'entrée est inconnu, mais cette base fait environ 6 gigas, ce qui n'est pas énorme en soit.

    Donc le problème, c'est que la la moindre requête se transforme en véritable cauchemard.

    J'ai essayé de modifier le paramètre shared buffers, avec une amélioration de 10/15 %. Mais c'est une goutte d'eau dans une botte de foin.

    Quelqu'un aurait il une idée? de la doc?

    pg : v 8.3.12
    On ne peut créér ce qu'on ne peut imaginer...
    Tu sens la puissance du BIT?

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 476
    Points : 831
    Points
    831
    Par défaut
    Mais c'est une goutte d'eau dans une botte de foin.
    le pire aurait été
    une aiguille dans dans la mer

  3. #3
    Membre habitué Avatar de donnadieujulien
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    433
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 433
    Points : 191
    Points
    191
    Par défaut
    effectivement je ne suis pas multitache mdr
    On ne peut créér ce qu'on ne peut imaginer...
    Tu sens la puissance du BIT?

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 759
    Points : 52 540
    Points
    52 540
    Billets dans le blog
    5
    Par défaut
    Quelle est la config du serveur :
    • 32 ou 64 bits
    • VM ou physique ?
    • taille de la RAM
    • taille et structure des disques (et niveau de RAID)


    Mais aussi : pourquoi 4000 schémas SQL ?
    Je redoute un problème de conception...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Membre habitué Avatar de donnadieujulien
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    433
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 433
    Points : 191
    Points
    191
    Par défaut
    il n'y a pas de serveur, postgres tourne sur la machine client en local.
    Donc, l'architecture est fonction de l'OS du client, mais nos applications sont en 32 bits.
    Donc pas de VM également, pas forcément de raid, ca dépend du client.

    Le problème est indépendant de la machine.
    Alors bien sur, une machine plus puissante aura un point de rupture plus grand mais ce n'est pas un problème de ressources.

    En fait on dirait que postgress mets une plombe à initialiser la requete (il doit faire sa mouture avec ses tables internes), et une fois cela terminé la requete s'effectue très très vite.

    Je me demande le sgbd est bien paramétré, parce que 4000 schemas, c'est sur que c'est lourd, mais les concepteurs n'ont t'ils rien prévu pour limiter la casse?
    On ne peut créér ce qu'on ne peut imaginer...
    Tu sens la puissance du BIT?

  6. #6
    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
    Poste un EXPLAIN ANALYZE d'une requête qui s'avère trop lente par rapport à ce que à quoi tu t'attends, ça donnera des informations concrètes sur le problème.

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 759
    Points : 52 540
    Points
    52 540
    Billets dans le blog
    5
    Par défaut
    Un SGBDR travaille C/S exclusivement en RAM. Lorsque vous faites cohabiter un SGBDR C/S avec d'autres application (ce qui est une très mauvaise pratique, un SGBDR C/S nécessite un serveur dédié) les autres applications pompent la RAM du SGBDR lorsqu'il ne traville pas, vidant ainsi le cache.
    Dès lors la moindre requête va se traduire par :
    1) demande de RAM du SGBDR auprès de l'OS
    2) mise en cache des données par lecture du disque
    3) exécution de la requête.
    Comme en sus PG ne sait pas faire des scans d'index il s'avère gourmand en RAM.

    Bref, vous avez deux solutions :
    • trouver un réglage pour "fixer" la RAM de PG (quelques GO de RAM physique dédié à PG)
    • passer à un serveur dédié.


    En tout état de cause vous n'avez pas répondu aux questions. Il est donc difficile de vous aider plus !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  8. #8
    Membre habitué Avatar de donnadieujulien
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    433
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 433
    Points : 191
    Points
    191
    Par défaut Merci
    Merci de votre réponse.

    J'ai répondu à toutes les questions que vous m'aviez posé il me semble?

    Je postera un axplain analyze ASAP
    On ne peut créér ce qu'on ne peut imaginer...
    Tu sens la puissance du BIT?

  9. #9
    Membre habitué Avatar de donnadieujulien
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    433
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 433
    Points : 191
    Points
    191
    Par défaut
    trouver un réglage pour "fixer" la RAM de PG (quelques GO de RAM physique dédié à PG)
    J'ai déja fait des tests en jouant sur "shared buffers" dans un fichier de config de pgsql.conf par exemple, mais le résultat n'est pas concluant.

    Comment faire le réglage dont vous parlez?
    On ne peut créér ce qu'on ne peut imaginer...
    Tu sens la puissance du BIT?

  10. #10
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 759
    Points : 52 540
    Points
    52 540
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par donnadieujulien Voir le message
    J'ai répondu à toutes les questions que vous m'aviez posé il me semble?
    NON : rien sur l'OS, rien sur les disques.... Ces éléments étant très sensibles et les réglages étant différents en fonction des OS il est impossible de vous répondre.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  11. #11
    Membre habitué Avatar de donnadieujulien
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    433
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 433
    Points : 191
    Points
    191
    Par défaut
    Donc, l'architecture est fonction de l'OS du client, mais nos applications sont en 32 bits
    Je n'ai pas précisé uniquement windows

    Les diques dur peu importe, on n'est pas en architecture client-serveur.
    il s'agit d'une bdd qui tourne chez le client directement, sur la machine en local.

    Je me suis mal éxprimé dès le départ mais je me cite :
    il n'y a pas de serveur, postgres tourne sur la machine client en local.
    Donc, l'architecture est fonction de l'OS du client, mais nos applications sont en 32 bits.
    Donc pas de VM également, pas forcément de raid, ca dépend du client.

    Le problème est indépendant de la machine.
    En fait je cherche les réglages postgres si il en existe.
    Je rajoute que je suis loin d'utiliser le sgbd à fond, c'est juste qu'iul y a trop de schémas, donc je cherche si i lexiste un moyen d'accélérer sensiblement les requêtes sans un refonte du programme qui consisterai à alléger au max le nb de schémas mais qui n'est pas très envisageable et très couteux.

    Peut etre que le pb vient de du driver de communication et de l'objet utilisé.
    Le programme est codé en delphi et j'utilise ZEOS, on peut peut etre dire à une connection d'exclure des schémas pour l'accélerer et travailler avec plusieurs connexions?
    Ou alors postgress peut existe t'il des réglages directement sur postgres?
    On ne peut créér ce qu'on ne peut imaginer...
    Tu sens la puissance du BIT?

  12. #12
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 936
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 936
    Points : 4 356
    Points
    4 356
    Par défaut
    Montrez le query et l'explain, ASAP… sans çà on tourne en rond.

Discussions similaires

  1. [WS 2008] Lenteur extrême lors de l'ouverture d'une session après migration AD2008
    Par Vlacar dans le forum Windows Serveur
    Réponses: 0
    Dernier message: 23/08/2011, 16h39
  2. [Ubuntu 64bit] Lenteurs extrêmes d'Eclipse
    Par Baton10 dans le forum Eclipse
    Réponses: 4
    Dernier message: 08/06/2011, 19h37
  3. Lenteur extrème au boot de Win XP
    Par KissCoolMan dans le forum Ordinateurs
    Réponses: 12
    Dernier message: 07/07/2008, 16h24
  4. Réponses: 1
    Dernier message: 21/04/2008, 16h41
  5. Lenteur extrème avec un laptop SONY
    Par be_tnt dans le forum Ordinateurs
    Réponses: 35
    Dernier message: 03/06/2007, 01h09

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