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 :

Limite performances serveur Linux/Postgresql


Sujet :

Administration PostgreSQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 138
    Points : 47
    Points
    47
    Par défaut [Résolu] Limite performances serveur Linux/Postgresql
    Salut a tous...

    j'ai une petite question concernant les limites de Postgresql.
    Voila, j'ai une application de gestion de projet via internet qui pour chaque nouveau projet cree sur la plate-forme cree une base de donnees postgresql.

    Actuellement, j'ai 130 bases de donnees gerees par Postgresql, qui ont 90 tables chacunes.
    Avec tout ca, j'ai fait une estimation et je pense qu'il y a 3 acces a la base a la minute en moyenne, ce qui je pense n'est pas enorme.

    En fait, je voudrais savoir si le nombre de projets geres venait a doubler, si mon serveur supporterait la charge de travail.

    Pour cela, voici les caracteristiques de mon serveur :

    Systeme d'exploitation : Ubuntu 6.06 LTS Draper (Kernel 2.6.15-51-686)

    DD : -> Une partition de 8Go dont 4,9Go de libre pour le repertoire racine
    -> Une partition de 25Go dont 11Go de libre pour le repertoire /home sur lequel sont stockees les donnees de ma BD
    -> Une partition de Swap de 1Go

    Processeur : -> Double processeur Intel Xeon 2.4Ghz

    RAM : 756Mo dont environ 250Mo utilisee en moyenne
    Pour cela, j'ai utilise la commande free -m et si je me trompe pas, c'est bien la ligne -/+ buffer/cache qu'il faut regarder ???

    Voila, donc mis a part la place sur le disque qui peut vite se remplir (mais je peux faire un peu de vide car j'ai des sauvegardes stockees dessus), est-ce que ce serveur peut supporter a votre avis un doublement du traffic ???
    Je ne pense pas que le nombre d'acces soit un probleme, etant donne qu'ils ne sont quand meme pas tres nombreux, mais pour le reste ???

    Sinon derniere petite question : Etant donne que j'ai un double processeur, est-ce que je ne devrais pas utiliser le kernerl smp plutot que celui que j'ai ???

    Merci d'avance pour vos reponses.

    PS : je suis developpeur, et je n'y connais pas grand chose en administration de BD et de serveur Linux...

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Points : 262
    Points
    262
    Par défaut
    Bonjour
    est-ce que je ne devrais pas utiliser le kernerl smp plutot que celui que j'ai ???
    Oui
    RAM : 756Mo dont environ 250Mo utilisee en moyenne (il vaut mieux doubler la mémoire)
    Une partition de Swap de 1Go (normalement swap = 2*mem minimum)
    je voudrais savoir si le nombre de projets geres venait a doubler,
    si mon serveur supporterait la charge de travail
    oui même si x 4 ou plus
    (Il faut augmenter certains paramètres avec ulimit si vous dépassez la config std )
    ulimit -a pour voir la config
    exemple:
    ulimit -n 2048 pour le nombre de fichiers ouverts etc...
    Il faut également appliquer la règle définie dans postgresql.conf pour s'aligner aux charges
    effectives (les calculs sont expliqués)
    DD : -> Une partition de 8Go dont 4,9Go de libre pour le répertoire racine
    -> Une partition de 25Go dont 11Go de libre pour le répertoire /home sur lequel sont stockées les données de ma BD

    Il vaut mieux mettre un autre disque pour les données
    25 Go c'est ridicule pour des centaines de bases.. surtout si vous devez utiliser des index...
    tapez df -v pour voir l'identifiant si vous avez une config raidX .. (/dev/ida/c0d0p1)
    tapez hdparm -t /dev/hda IDE ou /dev/sda SCSI ou ATA ou /dev/ida/c0d0p1 si raid
    vous devez obtenir entre 50 et 100 MB/s
    Note: un système de fichier reiserfs ou xfs est 40%
    plus rapide que ext3
    Un hd serial ATA est 2 fois plus rapide q'un IDE.
    Dans votre message je vois que vous avez des doutes..
    Avec votre configuration de charges vous restez très loin du compte pour un serveur Linux
    ou Unix ... c'est très raisonnable ...
    Ajoutez en plus un service APACHE + PPPOE + SAMBA CIFS, NFS,BIND,SQUID et 300 stations clientes qui tirent activement le serveur fonctionnera toujours de façon efficace. (MEM 2Go)
    (Le plus bien ventiler la machine.)
    Bon courage.

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 138
    Points : 47
    Points
    47
    Par défaut
    Salut

    et tout d'abord merci pour votre reponse.
    Et comme vous dites, j'ai bien besoin de courage pour me lancer la dedans, etant donne que je suis un novice complet, mais que je n'ai pas le choix, faut que je m'y mette

    Bon j'ai regarde un peut tout ce que vous m'avez dit, j'ai fait pleins de recherche.

    -> Tout d'abord, en ce qui concerne la memoire, c'est le plus simple, me suffit de trouver quel type de memoire est installee sur mon serveur et si j'ai des emplacements de libre...ca je devrais y arriver :p

    -> En ce qui concerne le SWAP. J'ai lu plein d'avis differents. Vous me dites qu'il faudait qu'il fasse le double de ma RAM. Je vais rajouter 1Go je pense, donc il me faudrait 3Go de SWAP.
    Mais j'ai lu souvent que la moitie de la RAM suffisait.
    Et quand je tape la commande free, je vois que sur les 1G, en general, moins de 100M sont utilises.
    Donc est-ce bien necessaire de l'augmenter, et si oui, comment on fait pour augmenter le SWAP ???
    J'ai trouve cette manip, est-ce qu'elle est correcte ???

    sudo dd if=/dev/zero of=/tmp/swap bs=1M count=512
    sudo mkswap /tmp/swap
    sudo swapon /tmp/swap

    C'est cense augmenter le SWAP de 512Mo

    -> Ensuite pour mon kernel, il faudrait donc que je passe au 2.6.15-51-686-smp.
    Le probleme, c'est que je vois un peu partout que si on utilise des modules non standarts, il n'est pas conseille de passer par un paquet du type linux-image etc...
    Moi j'ai recupere cette machine en route, je n'y connais pas grand chose, et je ne peux pas me permettre de la planter car elle est en prod.
    Donc comment savoir si il y a un risque a changer le kernel (sachant qu'au demarrage, je n'ai pas dans ma liste de choix de kernel smp).
    En plus quand je tape la commande : aptitude search linux-image | grep 51
    J'ai le resultat suivant :

    i A linux-image-2.6.15-51-386 - Linux kernel image for version 2.6.15 on 3
    i A linux-image-2.6.15-51-686 - Linux kernel image for version 2.6.15 on P
    p linux-image-2.6.15-51-k7 - Linux kernel image for version 2.6.15 on A
    p linux-image-2.6.15-51-server - Linux kernel image for version 2.6.15 on S
    p linux-image-2.6.15-51-server-bi - Linux kernel image for version 2.6.15 on B

    Celui qui correspond au SMP, c'est le dernier ???
    Ensuite, i, ce sont ceux qui sont installes sur ma machine ???
    Et A, c'est pour quoi ???

    -> Pour les DD. Si j'ai bien compris, si j'ai du sda, sdb etc...c'est que je suis soit en SCSI soit en ATA.
    J'ai donc fait le test hdparm -t et j'obtiens en general un resultat entre 40 et 50Mb/s...donc un peu moins que ce que vous dites.
    De toutes facons, j'imagine qu'il est impossible de passer en reseirfs ou xfs sans formater ???
    Et pour augmenter mon espace disque, est-il possible de deplacer les donnees de ma base, ou bien de laisser celles qui existent deja ou elles sont, et de mettre les nouvelles sur un disque dur que j'installerai maintenant ???

    Merci d'avance pour votre aide.
    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
    Points : 262
    Points
    262
    Par défaut
    Bonjour
    Votre machine c'est un hp proliant MLxx ?
    Vous avec le package X (Gnome) installé ?
    Si oui utilisez synaptic et rechercher SMP et irqbalance
    Si vous installez un noyau SMP grub affichera un choix optionnel au démarrage (cd /lib/modules pour voire les kernels installé)
    (? bi ??? peut être big)chez moi j'ai un truc comme 2.6.18_xx-smp au choix)
    En général les modules sont présent au même titre qu'un noyau STD
    Votre configuration est probablement déjà correcte
    Mes remarques sont pour un plus ou une solution en cas de problème
    Laissez votre machine comme elle est. les personnes qui ont fait votre distrib Ubuntu
    sont très compétentes l'installation du noyau par défaut est généralement très correct.
    J'ai conseillé un noyau SMP car par expérience ce type de machine tient mieux la
    charge (Sur des grosses configurations) (mais ce n'est pas plus rapide même avec 8 processeurs).
    Pour l'espace HD vous avez tablespace pour router des tables sur une autre partoche
    si cela devient critique.
    Pour le swap ne changez rien si vous n'utilisez pas XEN,QEMU ou un truc du même genre.
    Pour La mémoire si vos accès bases sont servis asynchrones (Via Intranet HTTP,HTTPS)
    votre config MEM est suffisante.(les (pools) modulent des charges instantanées non résiduelles)
    Bon courage.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 100
    Points : 61
    Points
    61
    Par défaut Retour expérience
    Bonjour,


    je m'insère dans la discution afin de vous faire part de mon expèrience
    un peu similaire

    j'ai un serveur 4Go de Ram 512Mo de swap (installation ovh)
    xeon 4 coeurs en debian 64bit (5.2.0-8+etch13)

    J'ai 1 applicatif PHP qui tourne sur 300 bases / 30 tables par base
    peu de volumétrie par base / 1 base par client.
    les connexions php<->postgres ne sont pas en pool le nombres
    de base est trop grand pour avoir un interet

    j'espère pouvoir mettre 500 bases / serveur

    La config qui tourne :

    kernel.shmmax=536870912

    /etc/postgresql/8.1/main/postgresql.conf
    shared_buffers = 16384
    work_mem = 16384
    maintenance_work_mem = 32768
    max_fsm_pages = 320000
    max_fsm_relations = 16000

    Comme le dit bustaf (que je salut) 1 Go de Ram ne ferai pas de mal.

    Un serveur de ce type ne coute pas si cher pour
    une société (100 euros/mois chez ovh)
    Chez moi ce serveur est sous utilisé mais
    quand on fait les choses il faut le faire sérieusement
    même si cela coute un peu. Je serai toi je demanderai
    un nouveau srv. Cela te permettrai de travailler sereinement
    sans avoir peur de tout casser. De plus tu pourras passer les
    upgrades de sécurité sans te poser de question.




    A+

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 138
    Points : 47
    Points
    47
    Par défaut
    Bon, tout d'abord, un grand merci a tous les deux pour votre aide et vos conseils.
    Bustaf, pour le moment je vais t'ecouter et ne rien changer niveau kernel, d'autant que je me suis rendu compte qu'en fait, ce n'etait pas un bi-processeur que j'avais mais un processeur double coeur...alors je ne sais pas si ca fait une difference mais bon, ca marche comme ca...
    La seule chose que je vais faire, c'est que je vais passer a 2Go de RAM, histoire d'etre tranquille de ce cote la.
    Et puis d'ici quelques mois, je vais voir si je peux me faire acheter un nouveau serveur sur lequel je mettrais la derniere version d'Ubuntu LTS (8.04 si je ne me trompe pas), avec la derniere version de postgresql.
    Pour l'espace disque, je vais aussi attendre de voir si j'atteinds les limites de ce que j'ai d'ici, et si oui, j'en rajouterai un et j'utiliserai "tablespace" que j'ai teste et qui marche tres bien.

    J'en profite pour vous poser encore une petite question concernant un petit probleme que j'ai (j'ai cree une autre discussion mais bon, je la pose ici aussi au cas ou).
    En fait, mon vacuumdb -a me renvoie 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".
    Et j'ai lu quelque part qu'il faut en fait que max_fsm_relations doit être au moins équivalent au nombre de tables dans l'ensemble des bases, bases squelettes et schéma système compris.
    Donc pour moi, ca voudrait dire :
    150 bases environ * 91 tables = environ 14000
    Soit plus de 10 fois plus. Est-ce que je risque qqchose a augmenter cette valeur d'autant ??? En est-ce que cette valeur depend aussi de ma config ou non ???
    Et puis malgre ce message d'avertissement, mon vacuum se fait qd meme ou non ???
    Ah oui, et pendant que j'y suis, quand je fais un "show max_fsm_relations", j'ai comme reponse 1000, alors que je suis bien a 1200...comment cela se fait-il ???

    Merci encore pour votre aide passe...et futur
    jinpol...

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Points : 262
    Points
    262
    Par défaut
    Bonjour
    Regardez ces liens
    http://www.network-theory.co.uk/docs...eSpaceMap.html

    http://www.network-theory.co.uk/docs...res.html#SEC21

    NB
    1 * processeur double cœurs ou 2 x # c'est kif kif pour noyau SMP

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 138
    Points : 47
    Points
    47
    Par défaut
    Hello...

    Ca fait un moment que je n'ai pas donne signe de vie...mais en fait mon serveur a fait Game Over apparement
    C'est le DD qui a rendu l'ame.
    Du coup je suis parti pour une reinstallation complete.
    Avant de me lancer, j'aimerai donc avoir quelques conseils, histoire de partir sur de bonnes bases.
    Deja, est-ce que la version 8.04 LTS est differentes dans la configuration que la 6.06 LTS que j'avais jusque la, car je ne voudrais pas passer a la 8.04 et etre completement perdu (deja que j'y connais pas grand chose). Et puis a part l'interface graphique, y a t'il une difference entre la version desktop et la version serveur, car meme si je m'en sers comme serveur, c'est qd meme bien pratique d'avoir acces a une interface graphique, au cas ou ???

    Ensuite, je vais avoir un DD SCSI (car je ne change que le DD du serveur et je passe a 2Go de RAM) et il fera 75Go.
    Sachant tout ca, combien il faudrait que je mette pour le SWAP, pour le repertoire racine et pour le /Home ???

    Et mon processeur etant donc un Xeon 2.4Ghz double coeur, quelle version du noyau me conseillez vous ???
    D'ailleurs, le choix du noyaux se fait a l'installation, ou apres ???

    Merci d'avance pour votre aide.
    jinpol...

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Points : 262
    Points
    262
    Par défaut
    Bonjour
    vous vous posez trop de questions ?
    Un O/S sans l'interface graphique c'est comme une femme sans sourire...
    D'autres diront un serveur avec l'interface graphique c'est comme un chameau
    avec des boucles d'oreilles...


    Pour un serveur Linux en général on utilise du Debian du RH du slackware ou du Suse (ce qui n'est pas vraiment justifié...)
    Installez ce que vous avez de plus récent sous la main..
    L'install va automatiquement vous affecter un kernel approprié.
    Pour l'interface graphique (Gnome Kde ou Xfce etc ..) c'est une question de préférence.
    Si votre HD est HS
    Le disque qui approche les 100 MB/s (hdparm en reiserfs ou xfs)
    Western Digital (WD32000AAJS) type sata 320 Go.(Il y a peut être mieux ? c'est ce que j'ai sous la main pour référence en hd std )
    Une fois votre O/S installé si vous rencontrez des problèmes posez vos questions.
    Bon courage

    NB
    Votre remarque PS : je suis développeur
    ......
    Le compilateur gcc/++ en version 4.3.1 2 c'est une vraie galère ....
    si vous avez une version moins récente dans votre distrib c'est mieux....
    Attention avec les versions PG 8.3.XX il y quelques fois des blèmes liés UTF8 dans
    la (restoration) des bases....

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 138
    Points : 47
    Points
    47
    Par défaut
    Salut

    c'est vrai que je me pose beaucoup de questions, mais le truc, c'est que je prefere commence a installer mon serveur une fois que je suis sur (a peu pret, de mon coup), car je n'ai pas envie de perdre trop de temps a installer et reinstaller si je n'ai pas fait ca comme il faut

    Alors donc, je pars sur une Ubuntu 8.04 LTS version Desktop i386. Meme si j'essaye de tout gerer via putty en ligne de commande, je prefere avoir une interface graphique au cas ou.

    Sinon, pour le DD, je n'ai pas eu le choix, ce sera du SCSI, un seagate cheetah a 15.000 t/m de 75Go.
    Mais de toutes facons, cette solution est provisoire, et durant l'annee 2009, la BD va migrer vers un serveur tout neuf...

    Et donc, je pense que la, je vais prendre la version 8.1 de postgresql, la meme que j'avais sur mon autre serveur, pour etre sur de ne pas avoir de problemes lors de la restauration des bases...

    Enfin bref, je sens que je vais bien m'amuser pendant les jours qui viennent

    Merci encore pour vos reponses.
    jinpol...

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 138
    Points : 47
    Points
    47
    Par défaut
    Bon et bien apre une premiere installation foiree du Heron Hardi , j'ai reussi mon install de Linux...en meme temps, c'est limite plus facile que Windows.

    Pour pouvoir acceder a mon serveur via putty, j'ai installe openssh et ca marche tres bien.

    Pour le partage de fichier, j'ai installe smbfs, nfs-common et nfs-kernel-server.
    Je n'ai pas encore teste, je le ferai quand j'aurai installe postgresql.

    Ensuite j'ai essaye d'installer ce qu'il faut pour acceder a Linux via un PC windows et UltraVNC.

    J'ai suivi la meme procedure que pour mon autre serveur linux qui tourne sous Ubuntu 6.06 LTS, mais je n'arrive pas a me connecter.

    J'ai installe xinetd, vnc4-common, vnc4-server, puis j'ai utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vncpasswd /root/.vncpasswd
    pour regler mon mot de passe.

    J'ai cree un fichier /etc/xinetd.d/Xvnc contenant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    service Xvnc
    {
            disable = no
            socket_type = stream
            protocol = tcp
            wait = yes
            user = root
            server = /usr/bin/Xvnc
            server_args = -inetd :1 -query localhost - geometry 1024*768 -depth 24 -once -fp /usr/share/X11/fonts/misc -DisconnectClients=0 -NeverShared passwordFile=/root/.vncpasswd
            port = 5901
    }
    J'ai relance xinetd et j'ai regle le "Login Window" a "Same as Local".
    Mais ce ne marche pas...
    J'ai un echec de connexion au serveur.
    Est-ce que cette procedure est obsolete pour la version 8.04 de Ubuntu ???
    Au passage une petite question : comment on fait pour savoir par exemple si le processus xinet est lance ou non ???

    Et derniere chose, j'ai fait un aptitude install postgresql-8.1 car je ne veux pas installer la 8.3 vu qu'il peut y avoir des problemes lors de la restauration de bases, et ca ne marche pas, j'ai le message suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Pas de version candidate trouvée pour postgresql-8.1
    Ca voudrait dire qu'on ne peut pas mettre la version 8.1 de postgresql sur Ubuntu 8.04 ???

    Bon aller hop, je continuerai ca demain matin

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

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 138
    Points : 47
    Points
    47
    Par défaut
    Bon, je n'ai toujours pas trouve la solution pour vnc...je n'ai pas eu le temps de chercher aujourd'hui...

    J'ai installe postgresql-8.2 au final.

    Mais le probleme, c'est que quand je suis sous mon utilisateur postgres et que je fais un psql, j'ai le message d'erreur suivant...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    psql: could not connect to server: Aucun fichier ou dossier de ce type
    Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
    J'ai bien parametre mon fichier postgres.conf :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    listen_addresses = 'localhost,192.168.1.122'    # (change requires restart)
    port = 5442
    J'ai mis ce qu'il fallait dans le pg_hba.conf :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    # "local" is for Unix domain socket connections only
    local   all         all                               trust
    # IPv4 local connections:
    host    all         all         127.0.0.1/32          trust
    # IPv6 local connections:
    host    all         all         ::1/128               trust
    J'ai fait un /etc/init.d/posgresql start :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    postgres@devlin1:~/data$ /etc/init.d/postgresql start
    Starting postgresql: postgresql
    Mot de passe :
    serveur en cours de démarrage
    .
    Dans mon fichier log, j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    LOG:  le système de bases de données a été arrêté Ã* 2008-11-05 16:50:53 CET
    LOG:  l'enregistrement du point de vérification est Ã* 0/42C5D4
    LOG:  ré-exécution de l'enregistrement Ã* 0/42C5D4 ; l'annulation de l'enregistrement est Ã* 0/0rrêt TRUE
    LOG:  prochain identifiant de transaction : 0/593 ; prochain OID : 10820
    LOG:  prochain MultiXactId: 1; prochain MultiXactOffset: 0
    LOG:  le système de bases de données est prêt
    Et avec tout ca, je n'arrive pas a lancer psql.
    Deja, comment savoir si mon serveur tourne effectivement ???

    J'ai aussi cree un script de demarrage (identique a celui que j'ai sur mon autre serveur et qui marche tres bien) dans /etc/init.d/podtgresql :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    #! /bin/sh
    #
     
    set -e
     
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
    DESC="postgresql"
    NAME=postgresql
    PG_HOME=/home/postgresql/
    DAEMON=$PG_HOME/bin/pg_ctl
    SCRIPTNAME=/etc/init.d/$NAME
     
    # Gracefully exit if the package has been removed.
    test -x $DAEMON || exit 0
     
    # Read config file if it is present.
    #if [ -r /etc/default/$NAME ]
    #then
    #       . /etc/default/$NAME
    #fi
     
    #
    #       Function that starts the daemon/service.
    #
    d_start() {
            if [ ! -d /var/run/$NAME ]
            then
                    mkdir /var/run/$NAME
            fi
            chown postgres /var/run/$NAME
     
            echo
            su - postgres -c "$PG_HOME/bin/pg_ctl start -D $PG_HOME/data/ -l $PG_HOME/logfile"
    }
     
    #
    #       Function that stops the daemon/service.
    #
    d_stop() {
            echo
            su - postgres -c "$PG_HOME/bin/pg_ctl stop -D $PG_HOME/data/ -m f"
    }
     
    #
    #       Function that sends a SIGHUP to the daemon/service.
    #
    d_reload() {
            echo
            su - postgres -c "$PG_HOME/bin/pg_ctl reload -D $PG_HOME/data/"
    }
     
    case "$1" in
      start)
            echo -n "Starting $DESC: $NAME"
            d_start
            echo "."
            ;;
      stop)
            echo -n "Stopping $DESC: $NAME"
            d_stop
            echo "."
            ;;
      reload)
            #
            #       If the daemon can reload its configuration without
            #       restarting (for example, when it is sent a SIGHUP),
            #       then implement that here.
            #
            #       If the daemon responds to changes in its config file
            #       directly anyway, make this an "exit 0".
            #
            echo -n "Reloading $DESC configuration..."
            d_reload
            echo "done."
            ;;
      restart|force-reload)
            #
            #       If the "reload" option is implemented, move the "force-reload"
            #       option to the "reload" entry above. If not, "force-reload" is
            #       just the same as "restart".
            #
            echo -n "Restarting $DESC: $NAME"
            d_stop
            # One second might not be time enough for a daemon to stop,
            # if this happens, d_start will fail (and dpkg will break if
            # the package is being upgraded). Change the timeout if needed
            # be, or change d_stop to have start-stop-daemon use --retry.
            # Notice that using --retry slows down the shutdown process somewhat.
            sleep 1
            d_start
            echo "."
            ;;
      *)
            echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
            exit 3
            ;;
    esac
     
    exit 0
    Et aussi un fichier /etc/xinetd.d/postgresql :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    service postgresql
    {
            type = UNLISTED
            disable = no
            socket_type = stream
            protocol = tcp
            wait = no
            user = postgres
            server = /home/postgresql/bin/postmaster
            server_args = -D /home/postgresql/data >logfile 2>&1
            port = 5442
            log_type = FILE /home/postgresql/xinetdlog
            log_on_success = PID HOST USERID EXIT DURATION
            log_on_failure = HOST RECORD
    }
    Voila, tout est dit.
    Si quelqu'un pouvait m'aider ca serait super sympa car la je bloque vraiment...

    Merci d'avance...
    jinpol...

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Points : 262
    Points
    262
    Par défaut
    Bonjour
    Deja, comment savoir si mon serveur tourne effectivement ???

    Au shell
    ps -aux

    Pour voir l'affectaion socket port PG effective
    nmap (votre adresse IP)


    Le port 5432 | 5442 ???
    voir le fichier /etc/services
    Le blème c'est probablement xinetd qui arrête la base une fois lancée ...

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 138
    Points : 47
    Points
    47
    Par défaut
    Coucou...

    Bon je me repete, mais franchement, merci beaucoup de prendre un peu de temps tous les soirs pour repondre a mon ignorance

    Aujourd'hui, j'ai pas mal progresse dans mon installation.
    J'en suis au point ou je peux me connecter via ssh a mon serveur, j'arrive a monter mes lecteurs reseaux windows, et j'ai un postgresql qui apparement fonctionne.
    Je n'ai pas encore essaye de restaurer mes anciennes bases, ca ce sera pour l'etape suivante (avec l'installation des scripts de sauvegarde, etc...)
    Par contre pour postgresql, ca marche que si je mets dans mon postgresql.conf le port 5432 et dans mon fichier postgresql de xinet.d port=5432...
    Le probleme, c'est que l'application qui appelle la BD est configuree pour se connecter sur le port 5442.
    Dans le fichier /etc/services que vous m'avez indique, j'avais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    postgresql      5432/tcp        postgres        # PostgreSQL Database
    postgresql      5432/udp        postgres
    Je l'ai donc modifie en mettant 5442 a la place de 5432...
    J'ai reboote, mais rien n'y fait.
    J'ai essaye de rajouter dans /etc/profile :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PGPORT=5442
    export PGPORT
    afin de fixer la variable d'environnement PGPORT a 5442 et quand je fais env une fois avoir redemarre, j'ai bien PGPORT=5442...mais ca ne marche toujours pas...

    Y a t'il un truc que j'ai oublie de faire pour pouvoir lancer postgresql sur le port 5442 ???

    Bon apres, j'ai encore mon pb avec VNC...mais on verra ca plus tard...chaque chose en son temps

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Points : 262
    Points
    262
    Par défaut
    Bonjour 5442....
    cd /
    find / -name postgresql.conf -print (pour voir ou est le fichier)
    ouvrir ce fichier et changer le port qui est 5432 en 5442
    ensuite dans le rep du fichier
    chmod 0700 postgresql.conf
    chown postgres postgresql.conf
    relancez le moteur avec un extincteur sous la main ...

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 138
    Points : 47
    Points
    47
    Par défaut
    Le fichier postgresql.conf, je l'avais deja modifie. Je cherche quand meme des solutions de mon cote
    Et quand je laisse 5332, y'a pas de soucis, ma base demarre et je peux m'y connecter, par contre quand je mets 5442, la si je tape nmap mon_adresse_ip, et bien je n'ai pas de service postgres ouvert...

    Petite remarque, j'ai fait le test hdparm que vous m'aviez dit de faire pour voir la vitesse de mon nouveau DD, et je suis a 130Mb/sec, 3x plus qu'avant...

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Points : 262
    Points
    262
    Par défaut
    Il faut voir si la base tourne déjà
    ps -aux
    Le port n'est pas conventionnel le map ne le cherche peut être pas
    Sou AIX le port de postgresql n'est pas instruit dans les services mais il fonctionne.
    Bon disque..

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 138
    Points : 47
    Points
    47
    Par défaut
    Bon ben pour postgres, je crois que c'est tout bon.
    En effet, en fait en faisant il ne voyait pas postgres, et vu que quand je faisais psql, ca plantait, et bien j'ai cru que c'est postgresql qui ne tournait pas...
    Et en fait, j'ai redefini ma variable d'environnement PGPORT a 5442, et la, quand je fais psql, ca marche...
    C'etait apparement juste psql qui essayait de se connecter a postgresql sur le port 5432 et non 5442.
    Voila une bonne chose de faite.

    Maintenant, j'ai d'autre petits soucis, mais ca ne concerne pas postgresql, donc je ne pense pas que ce soit le bon endroit pour poser cette question.

    Au cas ou vous soyez aussi un crac en linux, je vous mets le lien vers mon topic, des fois que

    Merci encore pour tout.
    Tchuss, jinpol...

Discussions similaires

  1. [Materiel]Performance Serveur PostgreSQL
    Par ratata dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 09/05/2011, 11h46
  2. Serveur Linux (Debian): Recovery/Performances
    Par Jean_Benoit dans le forum Oracle
    Réponses: 2
    Dernier message: 21/11/2006, 09h06
  3. limitation connexion serveur linux
    Par therealvulcain dans le forum Réseau
    Réponses: 6
    Dernier message: 14/09/2006, 17h00
  4. Serveur Linux dans un environnement Windows
    Par Loth dans le forum Réseau
    Réponses: 6
    Dernier message: 29/05/2004, 10h29
  5. Serveur Linux avec clients Windows
    Par ostaquet dans le forum Installation
    Réponses: 2
    Dernier message: 01/08/2002, 15h40

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