Re: Utilité des CPU multi-core

From: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
To: François Figarola <francois(dot)figarola(at)i-consult(dot)fr>
Cc: alain vanranst <alainvanranst(at)gmail(dot)com>, pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: Utilité des CPU multi-core
Date: 2010-01-21 18:59:57
Message-ID: 4B58A42D.4090206@lelarge.info
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Le 21/01/2010 17:35, François Figarola a écrit :
> alain vanranst a écrit :
>> Bonjour,
>> j'ai un programme externe à pg qui insert des data dans un tres grand
>> nombre de tables.
>> Chaque INSERT déclenche un trigger qui effectue des stats sur les data
>> insérées.
>> J'aimerais comprendre si chacun de ces triggers utilise un thread
>> different, et, par là, si augmenter le nombre de core de mon server va
>> ameliorer significativement ses performances.
>> Merci d'éclairer ma lanterne :-)
>>
> Bonjour,
>
> Pour autant que je sache, PostgreSQL n'est pas multi-thread mais
> lance un nouveau processus en réponse à chaque connexion entrante.
>

Exact.

> Si cet état de fait n'a pas évolué (mais, si la liste me contredit, je n'en
> serai absolument pas peiné !!!), les INSERT et les déclencheurs
> associés sont traités, côté serveur, par le même processus (mono-thread),
> et ajouter des cores ne changera rien.
>

Exact.

> Par contre, sur une machine multi-core, augmenter le nombre de clients
> (connexions) chargés d'insérer les données (donc paralléliser les
> fournisseurs données, si c'est toutefois possible) pourrait alors améliorer
> les performances, dans la limite des capacités d'E/S disques.
>

Tout aussi exact :)

--
Guillaume.
http://www.postgresqlfr.org
http://dalibo.com

In response to

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Dimitri Fontaine 2010-01-21 19:38:43 Re: Re: [pgsql-fr-generale] Comment traduire "Streaming Réplication" ?
Previous Message Denis Bitouzé 2010-01-21 17:41:05 Re: Remplacer la valeur d'un champ par rien si elle est identique à celle de la ligne précédente