| From: | Dru <andru(at)treshna(dot)com> | 
|---|---|
| To: | Jason Sheets <jsheets(at)idahoimageworks(dot)com>, pgsql-hackers-win32(at)postgresql(dot)org | 
| Subject: | Re: Speed issues | 
| Date: | 2004-06-09 01:44:40 | 
| Message-ID: | 40C66B88.5040004@treshna.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers-win32 | 
Ok so i've done some benchmarking to make certain that things are 
actually slow.
Jason Sheets wrote:
>How much does performance drop, you mentioned significantly but didn't
>define it.
>  
>
This select statement is a join across 3 tables.
select * from person,room,booking where person.id=booking.personid and
booking.roomid=room.id
There is about 1500 person and booking records, and 20 room records.
Total result from query is 3746 rows.
                                  QUERY PLAN
-------------------------------------------------------------------------------
 Hash Join  (cost=51.31..403.84 rows=3278 width=896)
   Hash Cond: ("outer".id = "inner".personid)
   ->  Seq Scan on person  (cost=0.00..148.16 rows=1716 width=706)
   ->  Hash  (cost=50.35..50.35 rows=382 width=190)
         ->  Hash Join  (cost=1.63..50.35 rows=382 width=190)
               Hash Cond: ("outer".roomid = "inner".id)
               ->  Seq Scan on booking  (cost=0.00..37.27 rows=1527 
width=89)
               ->  Hash  (cost=1.50..1.50 rows=50 width=101)
                     ->  Seq Scan on room  (cost=0.00..1.50 rows=50 
width=101)
If i remotely connect to the database on windows and run the sql
statement it takes less than a second. Likewise if i run the statement from
linux i also get less than a second.  Though on the production machine
I get varied performance, it can take >10 seconds to run that sql statement.
Though on the test machine i get less than a second exection time.
After doing benchmarking on all the machines I belive a lot of the problems
may lie with windows and multitasking support. It could be swapping out
postgresql regularly when your running 2 programmes on the machine then
swapping it back in again.   It may not be handling 2 processes running at
the sametime well.  I think also running it things from cmd in windows
does take a serious performance hit, though i'm only using cmd for running
reports from.  The only thing i'm worried about is  if i install this on a
machine thats a few years old with 128MB of ram and it gets a massive 
performance hit.
I'm going to try a database with 100000's of records later on this week
and i'll see if there is any major difference in performance then.
>What speed of CPU and how much memory do you have?  Also how fast is your
>hard disk and how much memory is in use by Windows?
>  
>
Development machine:
Pentium 4 3GHz, 1GB ram. Linux 2.6 with postgresql 7.4.1
Production machine:
Pentium 4 2.4GHz with 256MB of ram.  winxp home
Test machine:
AMD XP 1600 Duron with 512MB of ram. win2k
The linux machine is the only one with 7200RPM drives.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Gary Doades | 2004-06-09 07:06:08 | Re: Speed issues | 
| Previous Message | Bob Henkel | 2004-06-09 00:53:30 | Re: Speed issues |