Re: Please Help: PostgreSQL performance Optimization

From: Jamal Ghaffour <Jamal(dot)Ghaffour(at)elios-informatique(dot)fr>
To: Jamal Ghaffour <Jamal(dot)Ghaffour(at)elios-informatique(dot)fr>, pgsql-performance(at)postgresql(dot)org
Subject: Re: Please Help: PostgreSQL performance Optimization
Date: 2006-01-12 14:53:27
Message-ID: 43C66D67.1000502@elios-informatique.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Jamal Ghaffour a écrit:


Hi,

I'm working on a project, whose implementation deals with PostgreSQL. A brief description of our application is given below.

I'm running version 8.0 on a dedicated server 1Gb of RAM.
my database isn't complex, it contains just 2 simple tables.

CREATE TABLE cookies (
domain varchar(50) NOT NULL,
path varchar(50) NOT NULL,
name varchar(50) NOT NULL,
principalid varchar(50) NOT NULL,
host text NOT NULL,
value text NOT NULL,
secure bool NOT NULL,
timestamp timestamp with time zone NOT NULL DEFAULT
CURRENT_TIMESTAMP+TIME '04:00:00',
PRIMARY KEY (domain,path,name,principalid)
)

CREATE TABLE liberty (
principalid varchar(50) NOT NULL,
requestid varchar(50) NOT NULL,
spassertionurl text NOT NULL,
libertyversion varchar(50) NOT NULL,
relaystate varchar(50) NOT NULL,
PRIMARY KEY (principalid)
)

I'm developping an application that uses the libpqxx to execute
psql queries on the database and have to execute 500 requests at the same time.

UPDATE cookies SET host='ping.icap-elios.com', value= '54E5B5491F27C0177083795F2E09162D', secure=FALSE,
timestamp=CURRENT_TIMESTAMP+INTERVAL '14400 SECOND' WHERE
domain='ping.icap-elios.com' AND path='/tfs' AND principalid='192.168.8.219' AND
name='jsessionid'

SELECT path, upper(name) AS name, value FROM cookies WHERE timestampCURRENT_TIMESTAMP AND principalid='192.168.8.219' AND
secure=FALSE AND (domain='ping.icap-elios.com' OR domain='.icap-elios.com')

I have to notify that the performance of is extremely variable and irregular.
I can also see that the server process uses almost 100% of
a CPU.

I'm using the default configuration file, and i m asking if i have to change some paramters to have a good performance.

Any help would be greatly appreciated.

Thanks,
Hi,

There are some results that can give you concrete idea about my problem:

when i 'm launching my test that executes in loop manner the SELECT and UPDATE queries described above, i'm obtaining this results:

UPDATE Time execution :0s: 5225 us

SELECT Time execution :0s: 6908 us

5 minutes Later:

UPDATE Time execution :0s: 6125 us

SELECT Time execution :0s: 10928 us

5 minutes Later:

UPDATE Time execution :0s: 5825 us

SELECT Time execution :0s: 14978 us

As you can see , the time execution of the SELECT request is growing relatively to time and not the UPDATE time execution.

I note that to stop the explosion of the Select time execution, i m using frequently the vaccum query on the cookies table.

Set the autovacuum parmaeter in the configuation file to on wasn't able to remplace the use of the vaccum command, and i don't know if this behaivour is normal?

Thanks,

Jamal

Attachment Content-Type Size
unknown_filename text/html 3.4 KB
Jamal.Ghaffour.vcf text/x-vcard 378 bytes

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Tom Lane 2006-01-12 15:53:53 Re: Throwing unnecessary joins away
Previous Message Robert Treat 2006-01-12 14:48:25 query slower on 8.1 than 7.3