Received: from maia.hub.org (maia-3.hub.org [200.46.204.243]) by mail.postgresql.org (Postfix) with ESMTP id 55592632C55 for ; Thu, 19 Aug 2010 05:07:22 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.243]) (amavisd-maia, port 10024) with ESMTP id 90574-06 for ; Thu, 19 Aug 2010 08:07:14 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from vs-mailrelay.intranet (mail.edd.fr [62.23.156.6]) by mail.postgresql.org (Postfix) with ESMTP id AB84B632C06 for ; Thu, 19 Aug 2010 05:07:14 -0300 (ADT) Received: from localhost (localhost [127.0.0.1]) by vs-mailrelay.intranet (Postfix) with ESMTP id CB113D01FA for ; Thu, 19 Aug 2010 10:07:12 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at vs-mailrelay.intranet Received: from vs-mailrelay.intranet ([127.0.0.1]) by localhost (vs-mailrelay.intranet [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PJe7k0TrbV1m for ; Thu, 19 Aug 2010 10:07:12 +0200 (CEST) Received: from vs-dovecot.intranet (vs_dovecot.intranet [192.168.39.143]) by vs-mailrelay.intranet (Postfix) with ESMTP id 5ACCED01E5 for ; Thu, 19 Aug 2010 10:07:12 +0200 (CEST) Received: from [192.168.13.113] (unknown [192.168.13.113]) by vs-dovecot.intranet (Postfix) with ESMTP id 15B2C201AE for ; Thu, 19 Aug 2010 10:07:12 +0200 (CEST) Message-ID: <4C6CE64D.6070104@edd.fr> Date: Thu, 19 Aug 2010 10:07:41 +0200 From: Philippe Rimbault User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.10) Gecko/20100619 Icedove/3.0.5 MIME-Version: 1.0 To: pgsql-performance@postgresql.org Subject: Performance on new 64bit server compared to my 32bit desktop Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-1.91 tagged_above=-10 required=5 tests=BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01 X-Spam-Level: X-Archive-Number: 201008/225 X-Sequence-Number: 40068 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 ?