Soutenez-nous
Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7
  1. #1
    Membre habitué
    Homme Profil pro Vincent Leboulanger
    Développeur informatique
    Inscrit en
    janvier 2005
    Messages
    437
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent Leboulanger
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : janvier 2005
    Messages : 437
    Points : 119
    Points
    119

    Par défaut Aide pour configuration

    Bonjour,

    Voilà, nous sommes en cours de développement de web services java avec une base de données POSTGRESQL.

    pour info, nous sommes sur un serveur CentOs, et un postgres 8.4.

    Au niveau java, nous utilisons SPRING, JDBC et BONECP.

    Nous rencontrons un problème d'utilisation mémoire que je n'arrive pas à résoudre. Lorsque j'appelle un web service, les process postgres sur le serveur s'accumule, donc au bout d'un certain nombre de requête, le serveur sature.

    Voici la liste des process :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    postgres  3798  2.1  0.1 207832  6140 ?        S    12:22   0:00 /usr/bin/postmaster -p 5432 -D /var/lib/pgsql/DATA
    postgres  3996  0.0  0.0 179244  1400 ?        Ss   12:22   0:00 postgres: logger process                          
    postgres  3999  0.0  0.0 207832  1664 ?        Ss   12:22   0:00 postgres: writer process                          
    postgres  4000  0.0  0.0 207832  1592 ?        Ss   12:22   0:00 postgres: wal writer process                      
    postgres  4001  0.0  0.0 207972  1984 ?        Ss   12:22   0:00 postgres: autovacuum launcher process             
    postgres  4002  0.0  0.0 179376  1640 ?        Ss   12:22   0:00 postgres: stats collector process                 
    postgres  5584  0.0  0.1 209144  5116 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(35375) idle     
    postgres  5585  0.0  0.1 209052  4420 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(35376) idle     
    postgres  5586  0.0  0.0 208916  3360 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(35377) idle     
    postgres  5588  0.0  0.0 208916  3356 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(35378) idle     
    postgres  5589  0.0  0.0 208916  3352 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(35379) idle     
    postgres  5592  0.0  0.0 208916  3360 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(35380) idle     
    postgres  5593  0.0  0.0 208924  3368 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(35381) idle     
    postgres  5594  0.0  0.0 208924  3356 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(35382) idle     
    postgres  5595  0.0  0.0 208924  3356 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(35383) idle     
    postgres  5596  0.0  0.0 208924  3364 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(35384) idle
    et après lancement d'une nouvelle requête :

    Code :
    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
     
    postgres  3798  0.8  0.1 207832  6140 ?        S    12:22   0:00 /usr/bin/postmaster -p 5432 -D /var/lib/pgsql/DATA
    postgres  3996  0.0  0.0 179244  1400 ?        Ss   12:22   0:00 postgres: logger process                          
    postgres  3999  0.0  0.0 207832  1728 ?        Ss   12:22   0:00 postgres: writer process                          
    postgres  4000  0.0  0.0 207832  1592 ?        Ss   12:22   0:00 postgres: wal writer process                      
    postgres  4001  0.0  0.0 207972  1984 ?        Ss   12:22   0:00 postgres: autovacuum launcher process             
    postgres  4002  0.0  0.0 179376  1640 ?        Ss   12:22   0:00 postgres: stats collector process                 
    postgres  5584  0.0  0.1 209144  5116 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(35375) idle     
    postgres  5585  0.0  0.1 209052  4420 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(35376) idle     
    postgres  5586  0.0  0.0 208916  3360 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(35377) idle     
    postgres  5588  0.0  0.0 208916  3356 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(35378) idle     
    postgres  5589  0.0  0.0 208916  3352 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(35379) idle     
    postgres  5592  0.0  0.0 208916  3360 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(35380) idle     
    postgres  5593  0.0  0.0 208924  3368 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(35381) idle     
    postgres  5594  0.0  0.0 208924  3356 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(35382) idle     
    postgres  5595  0.0  0.0 208924  3356 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(35383) idle     
    postgres  5596  0.0  0.0 208924  3364 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(35384) idle     
    postgres  5982  0.0  0.1 209068  5180 ?        Ss   12:23   0:00 postgres: pguser postgres 109.0.63.65(41187) idle 
    postgres  7560  0.0  0.1 209144  5040 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(38341) idle     
    postgres  7562  0.0  0.1 209052  4428 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(38342) idle     
    postgres  7563  0.0  0.0 208916  3368 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(38343) idle     
    postgres  7564  0.0  0.0 208916  3372 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(38344) idle     
    postgres  7565  0.0  0.0 208916  3368 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(38345) idle     
    postgres  7568  0.0  0.0 208924  3360 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(38346) idle     
    postgres  7569  0.0  0.0 208924  3368 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(38347) idle     
    postgres  7572  0.0  0.0 208924  3376 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(38348) idle     
    postgres  7573  0.0  0.0 208928  3372 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(38349) idle     
    postgres  7575  0.0  0.0 208928  3376 ?        Ss   12:23   0:00 postgres: pguser projet 127.0.0.1(38350) idle
    Est-ce un problème de configuration Postgres ?

    D'avance merci.

    Vince

  2. #2
    Expert Confirmé Sénior
    Homme Profil pro
    Inscrit en
    mai 2002
    Messages
    2 865
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2002
    Messages : 2 865
    Points : 4 649
    Points
    4 649

    Par défaut

    Bonjour,

    A combien est votre paramètre max_connexion ?

    (Et sinon votre pooler de connexion ne fait pas réutiliser ces connexions à d'autre process ?)

  3. #3
    Membre habitué
    Homme Profil pro Vincent Leboulanger
    Développeur informatique
    Inscrit en
    janvier 2005
    Messages
    437
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent Leboulanger
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : janvier 2005
    Messages : 437
    Points : 119
    Points
    119

    Par défaut

    le nombre de connexions maximum est à 100, il s'agit du paramétrage par défaut

    Si mes 100 connexions sont lancées, si j'appelle de nouveau mon web service, j'obtiens l'erreur "Trop de clients déjà connecté".

    Comment faire pour éviter que ces process restent actifs trop longtemps ?

    merci

  4. #4
    Expert Confirmé Sénior
    Homme Profil pro
    Inscrit en
    mai 2002
    Messages
    2 865
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2002
    Messages : 2 865
    Points : 4 649
    Points
    4 649

    Par défaut

    La c'est plutot un probleme avec votre serveur d'application / pooler et pas vraiment postgresql.

    Si vos process côté pgsql ne sont pas tuer c'est que votre application les maintient actif

  5. #5
    Membre habitué
    Homme Profil pro Vincent Leboulanger
    Développeur informatique
    Inscrit en
    janvier 2005
    Messages
    437
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent Leboulanger
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : janvier 2005
    Messages : 437
    Points : 119
    Points
    119

    Par défaut

    ok, donc je dois le gérer au niveau BONECP ?

    mon paramétrage actuel

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close">
            <property name="driverClass" value="${jdbc.driverClass}"/>
            <property name="jdbcUrl" value="${jdbc.url}"/>
            <property name="username" value="${jdbc.username}"/>
            <property name="password" value="${jdbc.password}"/>
            <property name="idleConnectionTestPeriodInMinutes" value="240"/>
            <property name="idleMaxAgeInSeconds" value="60"/>
            <property name="maxConnectionsPerPartition" value="20"/>
            <property name="minConnectionsPerPartition" value="5"/>
            <property name="partitionCount" value="1"/>
            <property name="acquireIncrement" value="5"/>
     
        </bean>
    Vincent

  6. #6
    Expert Confirmé Sénior
    Homme Profil pro
    Inscrit en
    mai 2002
    Messages
    2 865
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2002
    Messages : 2 865
    Points : 4 649
    Points
    4 649

    Par défaut

    j'y connais rien en boneCp par contre y a une doc : http://jolbox.com/index.html?page=ht...iguration.html

    D'apres votre config, vous ne devriez pas dépasser les 20 connexions si j'ai bien lu la doc.

    Vous arrivez a plus de 100 vu que pgsql gueule un moment donné.

    Je vous laisse chercher sur les forums appropriés
    +

  7. #7
    Membre habitué
    Homme Profil pro Vincent Leboulanger
    Développeur informatique
    Inscrit en
    janvier 2005
    Messages
    437
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent Leboulanger
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : janvier 2005
    Messages : 437
    Points : 119
    Points
    119

    Par défaut

    merci de vos réponses, je clos ce post

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •