Re: prelimiary performance comparison pgsql vs mysql - Mailing list pgsql-general

From Mark Rae
Subject Re: prelimiary performance comparison pgsql vs mysql
Date
Msg-id 20050315122622.GA13398@purplebat.com
Whole thread Raw
In response to Re: prelimiary performance comparison pgsql vs mysql  (Chris Browne <cbbrowne@acm.org>)
Responses Re: prelimiary performance comparison pgsql vs mysql
List pgsql-general
On Mon, Mar 14, 2005 at 06:04:01PM -0500, Chris Browne wrote:
> mrae@purplebat.com (Mark Rae) writes:
>> Clients          1     2     3     4     6     8    12    16    32    64   128
>> ------------------------------------------------------------------------------
>> mysql-4.1.1   1.00  1.41  1.34  1.16  0.93  1.03  1.01  1.00  0.94  0.86  0.80
>> pg-7.4.1      0.65  1.27  1.90  2.48  2.45  2.50  2.48  2.51  2.49  2.39  2.38
>
> Could you elaborate on what the measures are here?  I don't quite
> follow what "0.8" means as compared to "2.38."

The figures are generated from a representative set of ~500 queries which
each client issues in a random order. The clients all connect in parallel
and the elapsed time taken for them all to complete is recorded.

The numbers given above are these times converted into relative throughput
figures. The baseline being a single mysql client, a performance of
1.00 is equivalent to an average of 5.82 queries per second.

i.e.
with a single client postgres runs at 65% the speed of mysql

by the time 3 clients are running, postgres is getting through the
queries 1.90/1.34=1.42 times faster

and once we get to 32 clients, mysql is tripping over itself and is
actually running slower than if the clients ran one after another.


Looking at how the database scales,
i.e. all figures are relative to the speed of a single client connection.

Clients          1     2     3     4     6     8    12    16    32    64   128
------------------------------------------------------------------------------
Theoretical   1.00  2.00  3.00  4.00  4.00  4.00  4.00  4.00  4.00  4.00  4.00
mysql-4.1.1   1.00  1.41  1.34  1.16  0.93  1.03  1.01  1.00  0.94  0.86  0.80
pg-7.4.1      1.00  1.94  2.91  3.79  3.75  3.82  3.80  3.84  3.82  3.66  3.64

The theoretical line being is how much we should expect things to scale
given that this is a 4 cpu machine.


    -Mark

pgsql-general by date:

Previous
From: Richard Huxton
Date:
Subject: Re: Convert Cursor to array
Next
From: Alex Turner
Date:
Subject: Wierd error message