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

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 [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
    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 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
    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
    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 confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 100
    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 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
    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
    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 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...

    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...

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