Thread: How to force PostgreeSQL to work faster?

How to force PostgreeSQL to work faster?

From
"Serge Dorofeev"
Date:

Hi PostrgeSQL  team,

My PostrgeSQL installed as part of CYGWIN (Windows XP).
I have compared performance PostrgeSQL to MS SQL (I used a little Java program with number of inserts in table).
MS SQL is faster in 12 times :-(
It's very strange results.
Guys who developed this server: what you can tell in this - what customizations needs to increase of productivity?
How to force PostgreeSQL to work faster?

 Speed (inserts/sec)Elapsed time (ms)
MS SQL (Average):29539 869
 testInsert 5000 
 26318 977
 25519 619
 30616 334
   
 testInsert 10000 
 31531 716
 32430 905
 31931 325
   
 testInsert 20000 
 24182 919
 31363 922
 31763 101
   
PostrgreSQL (Average):24520 160
 testInsert 5000 
 26191 434
 26191 264
 26192 295
   
 testInsert 10000 
 22463 669
 25393 510
 24409 528
   
 testInsert 20000 
 24834 911
 171 184 613
 24820 218
MS SQL is faster (times):1213



______________________________________________________
With regards,
Serge.

Re: How to force PostgreeSQL to work faster?

From
Tomka Gergely
Date:
Hi!

Please send me the test db and the queries, with precise information
maybe the developers can help.

--
Tomka Gergely
"S most - vajon barbárok nélkül mi lesz velünk?
Ők mégiscsak megoldás voltak valahogy..."



Re: How to force PostgreeSQL to work faster?

From
Paul Thomas
Date:
On 11/08/2003 09:59 Serge Dorofeev wrote:
> Hi PostrgeSQL  team,
>
> My PostrgeSQL installed as part of CYGWIN (Windows XP).
> I have compared performance PostrgeSQL to MS SQL (I used a little Java
> program with number of inserts in table).
> MS SQL is faster in 12 times :-(
> It's very strange results.
> Guys who developed this server: what you can tell in this - what
> customizations needs to increase of productivity?
> How to force PostgreeSQL to work faster?
>
>
>       Speed (inserts/sec)     Elapsed time (ms)
> MS SQL (Average):     295     39 869
>       testInsert 5000
>       263     18 977
>       255     19 619
>       306     16 334
>
>       testInsert 10000
>       315     31 716
>       324     30 905
>       319     31 325
>
>       testInsert 20000
>       241     82 919
>       313     63 922
>       317     63 101
>
> PostrgreSQL (Average):     24     520 160
>       testInsert 5000
>       26     191 434
>       26     191 264
>       26     192 295
>
>       testInsert 10000
>       22     463 669
>       25     393 510
>       24     409 528
>
>       testInsert 20000
>       24     834 911
>       17     1 184 613
>       24     820 218
> MS SQL is faster (times):     12     13

You don't give any details about your test code or how the databases are
configured so I'm guessing that you're inserts use an autocommitting
connection. For PostgreSQL, this causes each insert to be run inside a
tranaction and the transaction is then immediately written to disk. My
guess is that MS SQL behaves differently and doesn't immediately write to
disk (faster maybe but could cause data corruption). Try modifying your
program to have connection.setAutoCommit(false) and do a
connection.commit() after say every 100 inserts.

HTH

--
Paul Thomas
+------------------------------+---------------------------------------------+
| Thomas Micro Systems Limited | Software Solutions for the Smaller
Business |
| Computer Consultants         |
http://www.thomas-micro-systems-ltd.co.uk   |
+------------------------------+---------------------------------------------+

Re: How to force PostgreeSQL to work faster?

From
"Shridhar Daithankar"
Date:
On 11 Aug 2003 at 11:59, Serge Dorofeev wrote:

>
> Hi PostrgeSQL team,
>
> My PostrgeSQL installed as part of CYGWIN (Windows XP).
> I have compared performance PostrgeSQL to MS SQL (I used a little Java program
> with number of inserts in table).
> MS SQL is faster in 12 times :-(
> It's very strange results.
> Guys who developed this server: what you can tell in this - what customizations
> needs to increase of productivity?
> How to force PostgreeSQL to work faster?

First of all, get a unix. Cygwin is nowhere near any unix OS as far as
performance goes. Get linux and test. Testing postgresql under cygwin is like
testing MSSQL server under wine. May be wine is faster than cygwin but you got
the idea..

Second tune postgresql. Since you have not given any details, I would assume
you are runnning stock install of postgresql, which is not made for a benchmark
to say the least.


Check http://www.varlena.com/GeneralBits/Tidbits/perf.html for starters. Let us
know if that makes any difference..



Bye
 Shridhar

--
Baker's First Law of Federal Geometry:    A block grant is a solid mass of money surrounded on all sides by
governors.