Performance on new 64bit server compared to my 32bit desktop - Mailing list pgsql-performance

From Philippe Rimbault
Subject Performance on new 64bit server compared to my 32bit desktop
Date
Msg-id 4C6CE64D.6070104@edd.fr
Whole thread Raw
Responses Re: Performance on new 64bit server compared to my 32bit desktop  (Scott Marlowe <scott.marlowe@gmail.com>)
Re: Performance on new 64bit server compared to my 32bit desktop  (Greg Smith <greg@2ndquadrant.com>)
List pgsql-performance
Hi,

I'm having a strange performance result on a new database server
compared to my simple desktop.

The configuration of the new server :
     - OS : GNU/Linux Debian Etch x86_64
     - kernel : Linux 2.6.26-2-vserver-amd64 #1 SMP Sun Jun 20 20:40:33
UTC 2010 x86_64 GNU/Linux
         (tests are on the "real server", not on a vserver)
     - CPU : 2 x Six-Core AMD Opteron(tm) Processor 2427 @ 2.20GHz
     - RAM : 32 Go
The configuration of my desktop pc :
     - OS : GNU/Linux Debian Testing i686
     - kernel : Linux 2.6.32-5-686 #1 SMP Tue Jun 1 04:59:47 UTC 2010
i686 GNU/Linux
     - CPU : Intel(R) Core(TM)2 Duo CPU     E7500  @ 2.93GHz
     - RAM : 2 Go

On each configuration, i've compiled Postgresql 8.4.4 (simple
./configuration && make && make install).

On each configuration, i've restore a little database (the compressed
dump is 33Mo), here is the output of "\d+" :
  Schema |            Name            |   Type   |    Owner    |
Size    | Description
--------+----------------------------+----------+-------------+------------+-------------
  public | article                    | table    | indexwsprem | 77
MB      |
  public | article_id_seq             | sequence | indexwsprem | 8192
bytes |
  public | evt                        | table    | indexwsprem | 8192
bytes |
  public | evt_article                | table    | indexwsprem | 17
MB      |
  public | evt_article_id_seq         | sequence | indexwsprem | 8192
bytes |
  public | evt_id_seq                 | sequence | indexwsprem | 8192
bytes |
  public | firm                       | table    | indexwsprem | 1728
kB    |
  public | firm_article               | table    | indexwsprem | 17
MB      |
  public | firm_article_id_seq        | sequence | indexwsprem | 8192
bytes |
  public | firm_id_seq                | sequence | indexwsprem | 8192
bytes |
  public | publication                | table    | indexwsprem | 64
kB      |
  public | publication_article        | table    | indexwsprem | 0
bytes    |
  public | publication_article_id_seq | sequence | indexwsprem | 8192
bytes |
  public | publication_id_seq         | sequence | indexwsprem | 8192
bytes |
(14 rows)

On each configuration, postgresql.conf are the same and don't have been
modified (the shared_buffer seems enought for my simple tests).

I've enabled timing on psql, and here is the result of different
"simple" query (executed twice to use cache) :
1- select count(*) from firm;
     server x64 :  48661 (1 row) Time: 14,412 ms
     desk i686  :  48661 (1 row) Time: 4,845 ms

2- select * from pg_settings;
     server x64 :  Time: 3,898 ms
     desk i686  :  Time: 1,517 ms

3- I've run "time pgbench -c 50" :
     server x64 :
         starting vacuum...end.
         transaction type: TPC-B (sort of)
         scaling factor: 1
         query mode: simple
         number of clients: 50
         number of transactions per client: 10
         number of transactions actually processed: 500/500
         tps = 523.034437 (including connections establishing)
         tps = 663.511008 (excluding connections establishing)

         real    0m0.984s
         user    0m0.088s
         sys     0m0.096s
     desk i686 :
         starting vacuum...end.
         transaction type: TPC-B (sort of)
         scaling factor: 1
         query mode: simple
         number of clients: 50
         number of transactions per client: 10
         number of transactions actually processed: 500/500
         tps = 781.986778 (including connections establishing)
         tps = 862.809792 (excluding connections establishing)

         real    0m0.656s
         user    0m0.028s
         sys     0m0.052s


Do you think it's a 32bit/64bit difference ?

pgsql-performance by date:

Previous
From: Scott Marlowe
Date:
Subject: Re: in-memory sorting
Next
From: Scott Marlowe
Date:
Subject: Re: Performance on new 64bit server compared to my 32bit desktop