|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éclairé
![]() Inscription : avril 2009 Messages : 671 ![]() |
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. |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : octobre 2008 Messages : 1 702 ![]() |
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 |
|
|
00
|
|
|
#3 |
|
Membre éclairé
![]() Inscription : avril 2009 Messages : 671 ![]() |
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 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 |
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : octobre 2008 Messages : 1 702 ![]() |
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. |
|
|
00
|
|
|
#5 |
|
Membre éclairé
![]() Inscription : avril 2009 Messages : 671 ![]() |
faut-il faire un "vmstat 1" en root ou en compte utilisateur (celui de l'erp) ou en compte postgres ?
|
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : octobre 2008 Messages : 1 702 ![]() |
Pour vmstat, peu importe, le résultat sera le même quel que soit l'utilisateur qui le lance.
|
|
|
00
|
|
|
#7 | |
|
Membre éclairé
![]() Inscription : avril 2009 Messages : 671 ![]() |
voilà la phase allant du 0% au 100% en revenant au 0% :
Citation:
|
|
|
|
00
|
|
|
#8 |
|
Membre éclairé
![]() Inscription : avril 2009 Messages : 671 ![]() |
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 |
|
|
00
|
|
|
#9 |
![]() ![]() Inscription : octobre 2008 Messages : 1 702 ![]() |
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. |
|
|
00
|
|
|
#10 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 12 080 ![]() |
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 ) :
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#11 |
|
Candidat au titre de Membre du Club
![]() Valisoa RABESONINAAdministrateur de base de données Inscription : septembre 2011 Messages : 12 ![]() |
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à |
|
|
00
|
|
|
#12 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 12 080 ![]() |
Ça c'est parfaitement normal !
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#13 |
|
Candidat au titre de Membre du Club
![]() Valisoa RABESONINAAdministrateur de base de données Inscription : septembre 2011 Messages : 12 ![]() |
pourquoi tu dis que c'est parfaitement normal?
|
|
|
00
|
|
|
#14 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 12 080 ![]() |
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 Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#15 |
|
Candidat au titre de Membre du Club
![]() Valisoa RABESONINAAdministrateur de base de données Inscription : septembre 2011 Messages : 12 ![]() |
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? |
|
|
00
|
|
|
#16 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 12 080 ![]() |
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 Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#17 |
|
Candidat au titre de Membre du Club
![]() Valisoa RABESONINAAdministrateur de base de données Inscription : septembre 2011 Messages : 12 ![]() |
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 |
|
|
00
|
|
|
#18 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 12 080 ![]() |
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 Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#19 |
|
Candidat au titre de Membre du Club
![]() Valisoa RABESONINAAdministrateur de base de données Inscription : septembre 2011 Messages : 12 ![]() |
OK, je te remercie beaucoup!
je vais m'y appliquer alors a+ |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com