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

Outils PostgreSQL Discussion :

Quel max_fsm_relations mettre ?


Sujet :

Outils PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 138
    Par défaut Quel max_fsm_relations mettre ?
    Salut a tous.

    J'ai un petit probleme a vous soumettre pour la configuration de mon serveur postgresql.
    Voila, j'effectue regulierement des vacuumdb -a sur mon serveur de BD, mais voila que depuis peu, j'ai le message suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    NOTICE:  max_fsm_relations(1200) equals the number of relations checked
    HINT:  You have at least 1200 relations.  Consider increasing the configuration parameter "max_fsm_relations".
    Or j'ai lu sur un site que ce parametres "max_fsm_relations" doit etre au moins equivalent au nombre de tables dans l'ensemble des bases, bases squelettes et schema systeme compris.
    Perso, j'ai environ 150 bases, avec 91 tables chacune. Il faudrait donc que je passe ce parametre a environ 14000.

    Deja, est-ce que ce calcul est correct ??? Si non, a combien dois-je passer ce parametre ??? Si oui, est-ce que je peux mettre cette valeur sans risque de ralentir mon serveur ???
    J'ai a ce jour 768 Mo de RAM (je devrais passer dans les jours qui viennent a 2Go).

    De plus, malgre ce message d'alerte, est-ce que mes vacuum se font quand meme ???

    Et derniere petite question. Quand je fais un 'show max_fsm_relations', j'ai comme reponse 1000, alors que j'ai bien 1200 dans mon fichier de conf et dans mon message aussi d'ailleurs.

    Merci d'avance a ceux qui voudront bien m'aider...
    jinpol...

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 138
    Par défaut
    Hello tout le monde...

    Je reviens a la charge pour mon probleme de configuration de mon serveur Postgresql 8.2.

    Mon serveur Ubuntu 8.04LTS a eu une petite cure de jouvance, et il a maintenant 2Go de RAM au lieu des 768 initiaux.

    Je suis alle voir sur la doc au paragraphe 17.4, Consommation des ressources et j'ai fait un petit calcul, mais que j'aimerai qu'on me valide voir si je n'ai pas tout compris de travers.

    En fait, je table sur un nombre de base de 200, et chaque base a 91 tables, 5 vues, et environ 170 index. Si je ne me trompe pas, c'est a partir de la qu'on voit combien il faut pour max_fsm_relations.

    Donc, la il faudrait que je mette :

    max_fsm_relations = 200 * (91+5+170) = 53200

    Et donc :

    max_fsm_pages = 53200 * 16 = 851200

    Est-ce que c'est ca ou pas ???

    Et si oui, ces valeurs sont elles compatibles avec ma RAM ???

    Merci d'avance pour vos reponses.

    Cordialement.
    jinpol...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 138
    Par défaut
    Y'a t'il quelqu'un qui pourrait me dire si je me trompe ou pas dans mes calculs ???


    En fait, il dit de faire un du -sh sur le repertoire base, et de diviser par 8 (ko) pour obtenir le max_fsm_pages a mettre.

    Mon repertoire base fait 5.5Go.

    Donc 1Go = 1024*1024 Ko = 1048756 Ko
    5Go = 5 * 1048756 = 5242880 Ko

    Donc :

    max_fsm_pages = 5242880 / 8 = 720896

    Et donc, en gros :

    max_fsm_relations = max_fsm_pages / 16 = 45056

    Please...help...j'ai bon ???

    Ah oui, et donc est-ce que je peux mettre ces valeurs sachant que j'ai 2Go de RAM...

    Merci d'avance pour vos reponses.
    jinpol...

  4. #4
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Par défaut
    Bonjour
    quelles valeurs vous avez en reponse .
    Au shell
    cat /proc/sys/kernel/shmmax
    ????
    cat /proc/sys/kernel/shmall
    ???

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 138
    Par défaut
    Encore vous ???

    cat /proc/sys/kernel/shmmax

    33554432

    cat /proc/sys/kernel/shmall

    2097152

  6. #6
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Par défaut
    Regardez l'échange Postgresql et datawarehouse
    Si vous avez 2Go Il faut monter le shmmax
    Bon courage


  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 138
    Par défaut
    J'ai trouve un petit doc qui donne des conseils pour configurer un serveur PostgreSQL sur une machine avec 2Go de RAM.
    Si j'ai bien compris, la valeur SHMMAX est la taille de la mémoire partagée maximale autorisée et chez moi elle est donc de 32 Mo.
    Et pour un serveur dedie a Postgresql avec 2Go de RAM, ils conseillent de mettre environ 1Go pour SHMMAX.

    # sysctl -w kernel.shmmax=1073741824

    Et mettre la ligne suivante dans le fichier sysctl.conf pour rendre ceci persistant au redemarrage.

    kernel.shmmax = 1073741824

    Ensuite ils disent de mettre le shared_buffer de postgresql.conf a 1024MB, en faisant attention que cette valeur soient inferieure a shmmax (donc au pire mettre un peu plus a shmmax que 1Go sinon les valeurs seront identiques).

    Pensez vous que ces conseils soient judicieux dans mon cas ???

    Et si oui, pour modifier les valeurs de shmmax, faut il recompiler le noyau ou ce n'est pas la peine ???

    Et donc, une fois ces modifs effectuees, est-ce que je dois passer mes valeurs de max_fsm_pages et max_fsm_relations aux valeurs que j'ai donne dans mes precedents topics ???

    J'ai bcp d'interrogations, mais pour moi, tout ca, c'est un peu du chinois, alors j'essaye d'etre sur de mon coup avant d'effectuer de tels changements de config.

    Ah oui, et j'oubliai, comment voir l'echange entre postgresql et le datawarehouse (je ne sais meme pas ce que c'est, je vais faire une petite recherche )

    Merci d'avance.
    jinpol...

  8. #8
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Par défaut
    Pensez vous que ces conseils soient judicieux dans mon cas ???
    Oui
    les nombreuses bases utilisées dans votre cas representent grossièrement une mono instance hiéarchisée.

    Et si oui, pour modifier les valeurs de shmmax, faut il recompiler le noyau ou ce n'est pas la peine ???

    Non ce n'est pas la peine
    C'est dynamique.
    Il vaut mieux relancer le moteur après les modifs
    Bon courage
    NB
    J'ai retrouvé mes lunettes ....
    comment voir l'echange entre postgresql et le datawarehouse
    Il est sur cette page
    Comparez votre calcul avec les valeurs informées ,cette personne semble compétente et initiée.

Discussions similaires

  1. Sur quel Evenement mettre mon "rappel"
    Par Orakle dans le forum VBA Access
    Réponses: 4
    Dernier message: 23/05/2008, 09h31
  2. [MySQL] connexion a la bd, quel serveur mettre ?
    Par salrouge dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 24/01/2007, 11h26
  3. Dans quel répertoires mettre les modules PERL
    Par Premium dans le forum Modules
    Réponses: 3
    Dernier message: 08/11/2006, 09h46
  4. Sur quel evenement mettre Dmax?
    Par kabikou dans le forum Access
    Réponses: 18
    Dernier message: 15/09/2005, 00h00

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