Thread: FYI , Intel CC and PostgreSQL , benchmark by pgsql

FYI , Intel CC and PostgreSQL , benchmark by pgsql

From
jihuang
Date:
Hi,
I have a new server and some time to do an interesting simple benchmark.
Compile PostgreSQL 7.4.1R by gcc3.2 and Intel CC 8.0 , and use pgbench 
to evaluate any difference..

Here is the result.

----------------------

CPU: Intel(R) Xeon(TM) CPU 3.06GHz (3052.79-MHz 686-class CPU)Origin = "GenuineIntel"  Id = 0xf29  Stepping = 9
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX 

,FXSR,SSE,SSE2,SS,HTT,TM,PBE>Hyperthreading: 2 logical CPUs
real memory  = 3221200896 (3071 MB)
avail memory = 3130855424 (2985 MB)

FreeBSD 5.1-RELEASE-p11
/usr/local/intel_cc_80/bin/icc -V
Intel(R) C++ Compiler for 32-bit applications, Version 8.0   Build 
20031211Z Package ID: l_cc_p_8.0.055_pe057
Copyright (C) 1985-2003 Intel Corporation.  All rights reserved.
FOR NON-COMMERCIAL USE ONLY

gcc -v
Using built-in specs.
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 3.2.2 [FreeBSD] 20030205 (release)

Application: PostgreSQL 7.4.1
Benchmark: pgbench

Result :
1. IntelCC ( use ports/database/postgresql7 , default )
./pgbench -U pgsql -c 30  test
starting vacuum...end.
transaction type: TPC-B (sort of)
scaling factor: 1
number of clients: 30
number of transactions per client: 10
number of transactions actually processed: 300/300
tps = 34.975026 (including connections establishing)
tps = 35.550815 (excluding connections establishing)


2. GNU cc( use ports/database/postgresql7 , default )
./pgbench -U pgsql -c 30  test
starting vacuum...end.
transaction type: TPC-B (sort of)
scaling factor: 1
number of clients: 30
number of transactions per client: 10
number of transactions actually processed: 300/300
tps = 38.968321 (including connections establishing)
tps = 39.707451 (excluding connections establishing)






Re: FYI , Intel CC and PostgreSQL , benchmark by pgsql

From
Tom Lane
Date:
jihuang <jihuang@iis.sinica.edu.tw> writes:
> I have a new server and some time to do an interesting simple benchmark.
> Compile PostgreSQL 7.4.1R by gcc3.2 and Intel CC 8.0 , and use pgbench 
> to evaluate any difference..

In my experience, a 10% difference in pgbench results is below the noise
level :-(.  And when you only run 300 transactions, the results are too
unrepeatable even to be worth posting.

If you had run, say, 10000-transaction tests and averaged the results
over a couple dozen runs, the mean and standard deviation of those
results might be enough data to tell something.

BTW, when you use a number of clients greater than the scaling
factor, what you're measuring is mostly contention artifacts ...
        regards, tom lane


Re: FYI , Intel CC and PostgreSQL , benchmark by pgsql

From
Mark Kirkwood
Date:
It would be interesting to see the results if you do this test again with :

- scaling factor somewhere in the 100->300 range (so the generated db ~= 
your ram amount)
- number of clients somewhere in 10->100
- number of transactions somewhere in 1000->1000

best wishes

Mark

P.s - Are you using the GENERIC kernel or have you built you own (e.g 
with SMP suppport for your hyperthreaded cpu?)

jihuang wrote:

> Hi,
> I have a new server and some time to do an interesting simple benchmark.
> Compile PostgreSQL 7.4.1R by gcc3.2 and Intel CC 8.0 , and use pgbench 
> to evaluate any difference..
>
> Here is the result.
>
> ----------------------
>
> CPU: Intel(R) Xeon(TM) CPU 3.06GHz (3052.79-MHz 686-class CPU)
> Origin = "GenuineIntel"  Id = 0xf29  Stepping = 9
>
> Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX 
>
> ,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
> Hyperthreading: 2 logical CPUs
> real memory  = 3221200896 (3071 MB)
> avail memory = 3130855424 (2985 MB)
>
> FreeBSD 5.1-RELEASE-p11
> /usr/local/intel_cc_80/bin/icc -V
> Intel(R) C++ Compiler for 32-bit applications, Version 8.0   Build 
> 20031211Z Package ID: l_cc_p_8.0.055_pe057
> Copyright (C) 1985-2003 Intel Corporation.  All rights reserved.
> FOR NON-COMMERCIAL USE ONLY
>
> gcc -v
> Using built-in specs.
> Configured with: FreeBSD/i386 system compiler
> Thread model: posix
> gcc version 3.2.2 [FreeBSD] 20030205 (release)
>
> Application: PostgreSQL 7.4.1
> Benchmark: pgbench
>
> Result :
> 1. IntelCC ( use ports/database/postgresql7 , default )
> ./pgbench -U pgsql -c 30  test
> starting vacuum...end.
> transaction type: TPC-B (sort of)
> scaling factor: 1
> number of clients: 30
> number of transactions per client: 10
> number of transactions actually processed: 300/300
> tps = 34.975026 (including connections establishing)
> tps = 35.550815 (excluding connections establishing)
>
>
> 2. GNU cc( use ports/database/postgresql7 , default )
> ./pgbench -U pgsql -c 30  test
> starting vacuum...end.
> transaction type: TPC-B (sort of)
> scaling factor: 1
> number of clients: 30
> number of transactions per client: 10
> number of transactions actually processed: 300/300
> tps = 38.968321 (including connections establishing)
> tps = 39.707451 (excluding connections establishing)
>
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>
>