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

Administration PostgreSQL Discussion :

cpu à 100% avec 1.5% de ram utilisé, comment optimiser la config ?


Sujet :

Administration PostgreSQL

  1. #1
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 386
    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 386
    Points : 859
    Points
    859
    Par défaut cpu à 100% avec 1.5% de ram utilisé, comment optimiser la config ?
    Bonjour,

    Je reprends la maintenance d'un serveur où il y a postgresql 8.1, debian etch et un erp installé dessus : je ne peux pas faire de mise à jour à cause de l'applicatif en prod.

    Voilà, le problème est qu'une certaine opération dans l'ERP cause une lenteur incroyable pendant 20s, mettant le cpu à 100% et la ram avec seulement 1.5% d'utilisée. J'ai obtenu ces valeurs en faisant un top pendant le traitement.

    Y a-t-il moyen de modifier un paramètre dans la config permettant à plus de ram d'être utilisée pour optimiser la vitesse. Je ne sais pas comment obtenir les infos matériel du serveur. On m'a globalement dit qu'il devait être robuste mais peut-être mal configuré..

    Y a-t-il un moyen de savoir exactement quelles requêtes SQL sont exécutées pendant cette lenteur ?

    Je me demande aussi si ce n'est pas le disque dur qui fait trop de chose au lieu d'utiliser la RAM, mais comment le savoir ?

    Merci à vous et de votre aide (ou de me mettre sur une piste flagrante)

    Merci de votre aide.

  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
    Pour savoir quelle est la requête exécutée, regarder la table pg_stat_activity.
    Pour savoir si le disque dur travaille, utiliser la commande shell vmstat (colonnes bi et bo) ou iostat

  3. #3
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 386
    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 386
    Points : 859
    Points
    859
    Par défaut ralentissement
    où est la table pg_stat_activity ? je ne la vois pas.

    j'ai fait un vmstat.

    pendant que ça rame à fond (cpu 100%) il ya cela :


    procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
     1  0 302236  19592 111092 1262188    0    0     1     1    0    1  1  0 98  0
    et quand c'est terminé et revenu à la normal il ya cela :

    procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
     0  0 302236 112932 106140 1248704    0    0     1     1    0    1  1  0 98  0

  4. #4
    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
    pg_stat_activity est une vue du schéma pg_catalog.
    Dans la sortie vmstat montrée, le CPU ne travaille pas (colonne id=idle à 98%)

    Il faudrait laisser tourner vmstat 1 pendant plusieurs secondes pour avoir des résultats plus probants.

  5. #5
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 386
    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 386
    Points : 859
    Points
    859
    Par défaut
    faut-il faire un "vmstat 1" en root ou en compte utilisateur (celui de l'erp) ou en compte postgres ?

  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
    Pour vmstat, peu importe, le résultat sera le même quel que soit l'utilisateur qui le lance.

  7. #7
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 386
    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 386
    Points : 859
    Points
    859
    Par défaut
    voilà la phase allant du 0% au 100% en revenant au 0% :

    procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
    r b swpd free buff cache si so bi bo in cs us sy id wa
    0 0 302236 117464 87308 1247204 0 0 1 1 1 1 1 0 98 0
    0 0 302236 117432 87308 1247100 0 0 0 0 634 971 1 0 98 0
    1 0 302236 41648 87324 1247100 0 0 0 56 736 892 14 5 81 0
    1 0 302236 41648 87324 1247100 0 0 0 0 572 639 25 0 75 0
    1 0 302236 41640 87324 1247100 0 0 0 0 400 577 26 0 74 0
    1 0 302236 41640 87324 1247104 0 0 0 252 304 284 25 0 75 0
    1 0 302236 41632 87324 1247104 0 0 0 0 283 291 25 0 75 0
    2 0 302236 41588 87324 1247104 0 0 0 0 278 258 25 0 75 0
    1 0 302236 41588 87332 1247096 0 0 0 32 258 246 25 0 75 0
    1 0 302236 41588 87332 1247104 0 0 0 0 275 258 25 0 75 0
    1 0 302236 41588 87332 1247104 0 0 0 236 250 253 25 0 75 0
    1 0 302236 41668 87332 1247104 0 0 0 0 264 253 25 0 75 0
    1 0 302236 41668 87332 1247104 0 0 0 0 240 246 25 0 75 0
    1 0 302236 41692 87332 1247104 0 0 0 0 291 247 25 0 75 0
    1 0 302236 41692 87332 1247104 0 0 0 0 244 242 25 0 75 0
    1 0 302236 41812 87336 1247104 0 0 0 4 287 269 25 0 75 0
    1 0 302236 41812 87336 1247104 0 0 0 0 244 250 25 0 75 0
    1 0 302236 116944 87336 1247324 0 0 0 0 3141 5810 17 3 80 0
    1 0 302236 116780 87336 1247284 0 0 0 0 2140 3813 22 0 78 0
    0 0 302236 116904 87336 1247212 0 0 0 0 246 291 1 0 99 0
    0 0 302236 116904 87336 1247212 0 0 0 324 200 271 0 0 100 0

  8. #8
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 386
    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 386
    Points : 859
    Points
    859
    Par défaut
    pour info le serveur est un bi-cou xeon 5130, soit 4 cores à 2Ghz au total (mais bon postgres81 n'utilise pas le smp)
    et il ya 2Ghz de RAM physique

  9. #9
    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
    Les colonnes bi et bo indiquent l'activité disque, et il n'y en a quasiment pas.
    La colonne us indique que le cpu est à 25% occupé, c'est certainement un 4-coeurs dont 1 coeur à 100% sur la requête.
    Dans la colonne "free" on voit que la mémoire passe de 117432 à 41648, soit environ 70Mo alloués par l'opération, puis ça revient à 116944
    Les colonnes si et so indiquent l'activité swap et il n'y en a aucune.
    les colonnes cache et buff donnent le cache disque et il est bien rempli à 1,2 Go

    Tout ça parait très normal et il n'y a rien qui indiquerait des réglages à changer.

  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 760
    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 760
    Points : 52 541
    Points
    52 541
    Billets dans le blog
    5
    Par défaut
    Des réglages non, mais peut être des pratiques !
    Par exemple voir s'il n'y a pas un usage abusif (et dans l'ordre ) :
    • des curseurs
    • des déclencheurs
    • des fonctions

    notamment avec beaucoup de code itératif plutôt qu'à l'aide de requêtes ensemblistes !

    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 à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2011
    Messages : 26
    Points : 16
    Points
    16
    Par défaut
    Bonjour les amis,

    je tiens à vous dire au début que je suis un nouveau dans le métier

    mon problème à moi c'est dans l'inverse, consommation de mémoire virtuel 100% et consommation CPU 5%

    le serveur :
    - windows serveur 2008 professionnel
    - 2500 Mo de ram
    - CPU 2.27 Ghz
    C'est une machine virtuel

    J'utilise postgres 9.0. Je vous remercie déjà

  12. #12
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 760
    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 760
    Points : 52 541
    Points
    52 541
    Billets dans le blog
    5
    Par défaut
    Ça c'est parfaitement normal !

    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/ * * * * *

  13. #13
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2011
    Messages : 26
    Points : 16
    Points
    16
    Par défaut
    pourquoi tu dis que c'est parfaitement normal?

  14. #14
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 760
    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 760
    Points : 52 541
    Points
    52 541
    Billets dans le blog
    5
    Par défaut
    Un SGBDR fonctionne quasi exclusivement en RAM, le disque n'étant qu'un épiphénomène dû au fait que les mémoires actuelles sont volatiles.
    Il consommera donc toute la RAM si besoin est sans la restituer.

    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/ * * * * *

  15. #15
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2011
    Messages : 26
    Points : 16
    Points
    16
    Par défaut
    et si t'ajoute ta ram, ça changerais quelque chose?

    je voudrais dire, il reconsomme la mémoire que t'as? et ça évoluerais la performence de ta base?

  16. #16
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 760
    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 760
    Points : 52 541
    Points
    52 541
    Billets dans le blog
    5
    Par défaut
    Si vous ajoutez de la RAM il est probable qu'elle soit consommée rapidement par le SGBDR, en particulier si la base de données est plus grande que la RAM.

    Mais cela dépend aussi de vos réglages et notamment du paramétrage des shared_buffer (cache des données) qui en principe devrait être de 60 à 90 % de la RAM, suivant la quantité de RAM.

    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/ * * * * *

  17. #17
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2011
    Messages : 26
    Points : 16
    Points
    16
    Par défaut
    effectivement, comme ma base est sur une machine virtuel, j'ai augmenter ma ram mais peut de temps après, le SGBD l'a encore consommé à 100%.

    dit, comment ont fait le calcul par rapport au shared_buffer qui est à 32MB par défaut? combien de Go de ram a besoin un SGBD par défaut?

    Je te remercie

  18. #18
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 760
    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 760
    Points : 52 541
    Points
    52 541
    Billets dans le blog
    5
    Par défaut
    Il n'y a aucune formule magique....
    Cela dépend de :


    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/ * * * * *

  19. #19
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2011
    Messages : 26
    Points : 16
    Points
    16
    Par défaut
    OK, je te remercie beaucoup!

    je vais m'y appliquer alors
    a+

Discussions similaires

  1. [Ubuntu 9.10] CPU à 100% avec VNC serveur
    Par kOrt3x dans le forum Réseau
    Réponses: 1
    Dernier message: 27/04/2009, 14h09
  2. CPU a 100% avec firefox
    Par ogenki dans le forum Composants
    Réponses: 11
    Dernier message: 23/01/2008, 12h49
  3. CPU à 100% avec postgres sur windows
    Par djaih dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 29/05/2007, 18h45
  4. [WSAD] pb de lenteur et CPU à 100%
    Par triphop17 dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 27/10/2004, 14h05

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