Postgres vs. MySQL - Mailing list pgsql-performance

From Evilio del Rio
Subject Postgres vs. MySQL
Date
Msg-id 1101302058.338.74.camel@haddock.cmima.csic.es
Whole thread Raw
Responses Re: Postgres vs. MySQL  ("Steinar H. Gunderson" <sgunderson@bigfoot.com>)
Re: Postgres vs. MySQL  (Richard Huxton <dev@archonet.com>)
Re: Postgres vs. MySQL  (Christian Fowler <spider@viovio.com>)
Re: Postgres vs. MySQL  ("Joshua D. Drake" <jd@commandprompt.com>)
Re: Postgres vs. MySQL  ("Steinar H. Gunderson" <sgunderson@bigfoot.com>)
Re: Postgres vs. DSpam  (Andrew McMillan <andrew@catalyst.net.nz>)
Re: [dspam-users] Postgres vs. MySQL  (Clifton Royston <cliftonr@tikitechnologies.com>)
List pgsql-performance
Hi,

I have installed the dspam filter
(http://www.nuclearelephant.com/projects/dspam) on our mail server
(RedHat 7.3 Linux with sendmail 8.13 and procmail). I have ~300 users
with a quite low traffic of 4000 messages/day. So it's a quite common
platform/environment, nothing spectacular.

First time(s) I tried the Postgres interface that was already installed
for other applications.  Whenever I begin to train and/or filter
messages throug dspam the performance is incredibly bad. First messages
are ok but soon the filter time begins to increase to about 30 seconds
or more!

...so I looked for some optimization both for the linux  kernel and the
postgres server.  Nothing has work for me. I always have the same
behavior. For isolation purposes I started using another server just to
hold the dspam database and nothing else. No matter what I do: postgres
gets slower and slower with each new message fed or filtered.

Several strategies have failed: newest RPMs from postgresql.org,
pg_autovacuum, etc.

I finally tried the MySQL driver.

I have started using this tool right now for dspam, so I am a newcomer
in MySQL.

The result: after some preparation in configuring some parameters for
mysqld (with the "QuickStart" Guide from mysql.com) all works fine!

It's incredible! the same servers, the same messages, the same dspam
compilation (well each one with the corresponding
--with-storage-driver=*sql_drv). Postgres is getting worst than
30s/message and MySQL process the same in less than a second.

I can surrender the Postgres server by just corpus-feeding one single
short message to each user (it takes hours to process 300 users!).

On the other hand, MySQL only takes a few minutes to process the same
batch.

I do not want to make flame over Postgres (I have always prefered it for
its capabilities) but I am absolutely impressed by MySQL (I have seen
the light!)

Please, could anyone explain me this difference?
Is Postgres that bad?
Is MySQL that good?
Am I the only one to have observed this behavior?

TIA.

Cheers,

----------------------------------------------------------------
Evilio Jose del Rio Silvan   Centre Mediterrani d'Investigacions
edelrio@cmima.csic.es                Marines i Ambientals
"Microsoft sells you Windows, Linux gives you the whole house" - Anonymous


pgsql-performance by date:

Previous
From: Richard Huxton
Date:
Subject: Re: FW: FW: Index usage
Next
From: "Steinar H. Gunderson"
Date:
Subject: Re: Postgres vs. MySQL