Performance on new 64bit server compared to my 32bit desktop

From: Philippe Rimbault <primbault(at)edd(dot)fr>
To: pgsql-performance(at)postgresql(dot)org
Subject: Performance on new 64bit server compared to my 32bit desktop
Date: 2010-08-19 08:07:41
Message-ID: 4C6CE64D.6070104@edd.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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 ?

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Scott Marlowe 2010-08-19 09:51:02 Re: Performance on new 64bit server compared to my 32bit desktop
Previous Message Scott Marlowe 2010-08-19 07:16:51 Re: in-memory sorting