Re: Test performance

From: "Vladimir Dimitrov" <vladimir_d(at)bit(dot)bg>
To: <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: Test performance
Date: 2005-12-06 15:19:03
Message-ID: 005c01c5fa78$672cb590$1b01a8c0@packeast.lan
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale


----- Original Message -----
From: Pascal SERENT
To: pgsql-fr-generale(at)postgresql(dot)org
Sent: Tuesday, December 06, 2005 3:44 PM
Subject: [pgsql-fr-generale] Test performance

Bonjour à tous,

J'ai effectué un petit test de performance de PostgreSQL 8.1 qui est installé sur machine Windows.
Pour cela j'ai créé un table comme ceci :

CREATE TABLE benchmark1
(
id int4 NOT NULL,
key1 varchar(50),
texte varchar(200),
CONSTRAINT benchmark1_pkey PRIMARY KEY (id)
)
WITHOUT OIDS;

A l'aide d'un script j'ai inséré 1million d'enregistrement.
Deja lors de l'insertion j'ai remarqué des lenteurs lors de l'insertion (au bout d'un certain
nombre, ca devient de plus en plus lent).

C'est fait par SQL l'insertion ou d'autre facon? Si c'est par SQL, alors Postgre donne le temps d'insertion des enregistrements. Vous pouvez executer 1000 000 de requetes consequtives d'un seul coup et voir le temps d'insertion. Ou bien vous pouvez le faire a quelques reprises et mesurer l'effet de la scalabilite des differentes tranches.

Dans certaines situations l'insertion par le biais de scripte qui fait le cycle donne de pires resultats que l'utilisation de requetes.

Il y a aussi une difference: inserrer 1000 000 enregistrements en utilisant une requete et inserrer 1000 000 enregistrements en utilisant 1000 000 requetes.

Mais bon l'insertion n'est pas critique pour moi, ce qui compte c'est la rapidité lors de la consultation.

Ensuite, j'effectue une requete comme ceci :

select * from benchmark1 where key1 like '%"+GetRandomString(40)+"

Pour une requete qui fait la recherche sur 1000 000 enregistrements sur un champ du type varchar, sans avoir aucune indexation sur lui et utilisant l'operateur Like, le temps de recherche accroit!

Je mesure le temps de réponse et en moyenne (sur une centaine de requete) j'obtient 2,5 secondes pour avoir le résultat.
Cela me parait excessif !
Qu'en pensez-vous ?
Est-ce que ma table est "faite" comme il faut ?
Que faudrait-il faire pour augmenter les performances ?

Merci d'avance de m'éclairer sur ce point.

Pascal

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Pascal Serent
BLM Technologies
Ingénieur Développement Logiciel
Tel : 03 28 33 11 11
Mail : p(dot)serent(at)blm-technologies(dot)fr
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

(Signature ajoutée par FELICEE)

In response to

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Damien Griessinger 2005-12-06 15:57:40 Re: Test performance
Previous Message Pascal SERENT 2005-12-06 13:44:53 Test performance