Re: 1 seul processus postgresql

From: "Guillaume Lelarge" <gleu(at)wanadoo(dot)fr>
To: "Alban" <alban(dot)minassian(at)tele2(dot)fr>
Cc: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: 1 seul processus postgresql
Date: 2006-01-30 11:51:43
Message-ID: 2034.82.120.164.152.1138621903.squirrel@192.168.10.254
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

> Stephane BUNEL a écrit :
>> Prenez le "problème" dans l'autre sens : expliquer plutôt que pour des
>> raisons de performances (, d'architecture, ...), certaines tâches
>> internes du moteur (background writer, stats, ...) sont réparties sur
>> des processus dédiés. Oracle en fait de même depuis bien avant PG.
>> Aucun décideur ne vous condamnera pour avoir utilisé un moteur de base
>> de donnée fiable et puissant ;-)
>>
>
> Ok, MERCI pour ce début de compréhension et d'explication.

Dans une application client/serveur, il y a toujours un processus pour
récupérer les connexions des clients et pour se "forker". Le résultat du
fork est un autre processus qui sera exclusivement dédié à ce client. A ma
connaissance, tu ne peux pas supprimer ce fonctionnement qui est à la base
de la conception de ce serveur.

D'autres processus sont exécutés tout simplement pour des raisons de
performance. Le "background writer" va écrire les données des WAL vers les
"vrais" fichiers en tâche de fond. Le "statistics collector" calcule
quelques stats en tâche de fond aussi (ces stats sont à la base de
l'optimisation des requêtes par PostgreSQL, mieux vaut donc pas le
désactiver). Dans les deux cas, inutile que le processus dedié à
l'utilisateur connecté s'occupe du transfert WAL->fichiers et du calcul
des stats, tout simplement parce que je veux que mon processus dédié à mon
client réponde immédiatement quand je lui envoie une requête. De plus, si
j'ai 50 utilisateurs connectés, je n'ai pas envie d'avoir 50 fois le même
transfert ou le même calcul.

Je crois aussi que le processus "autovacuum" est un processus dédié. Là
aussi, aucune raison de l'intégrer au sein de chaque processus dédié à un
client.

La raison d'être de chaque processus est assez lisible sous Linux grâce à
la commande
ps auxww

--
Guillaume.

In response to

Browse pgsql-fr-generale by date

  From Date Subject
Next Message SAS 2006-02-03 14:34:30 Problème de formatage des nombres à virgule
Previous Message Alban 2006-01-30 11:12:02 Re: 1 seul processus postgresql