FYI , Intel CC and PostgreSQL , benchmark by pgsql

Started by jihuangalmost 22 years ago3 messages
#1jihuang
jihuang@iis.sinica.edu.tw

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)

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: jihuang (#1)
Re: FYI , Intel CC and PostgreSQL , benchmark by pgsql

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

#3Mark Kirkwood
markir@paradise.net.nz
In reply to: jihuang (#1)
Re: FYI , Intel CC and PostgreSQL , benchmark by pgsql

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:

Show quoted text

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