Re: Please Help: PostgreSQL Query Optimizer - Mailing list pgsql-hackers

From Anjan Kumar. A.
Subject Re: Please Help: PostgreSQL Query Optimizer
Date
Msg-id Pine.LNX.4.61.0601130435010.24920@nsl-22.cse.iitb.ac.in
Whole thread Raw
In response to Re: Please Help: PostgreSQL Query Optimizer  ("Anjan Kumar. A." <anjankumar@cse.iitb.ac.in>)
List pgsql-hackers

> Through googling, i found that Normal Disk has external data transfer rate of 
> around 40MBps,                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^            Does this includes, seek and
rotationallatency ?
 

> where as Main Memory has Data transfer rate ranging from 1.6GBps to 2.8GBps.









>
> As we can see, the ratio between Disk and Main Memory data transfer rates is 
> around 50. Then, if we multiply all cpu_* paramters by 50, the resulting 
> values will be:
>
>        random_page_cost = 1;
>        cpu_tuple_cost = 0.5;
>        cpu_index_tuple_cost = 0.05;
>        cpu_operator_cost = 0.0125;
>
>
> Would it be a suitable approach ? We request all of u to give 
> comments/suggestions on this calcualations. Thanking You.
>
>
>
>
>
> On Sun, 11 Dec 2005, Tom Lane wrote:
>
>> [ trimming cc list to something sane ]
>> 
>> "Anjan Kumar. A." <anjankumar@cse.iitb.ac.in> writes:
>>>     In Main Memory DataBase(MMDB) entire database on the disk is loaded 
>>> on to the main memory during initial startup of the system.  There after 
>>> all the references are made to database on the main memory.  When the 
>>> system is going to shutdown, we will write back the database on  the main 
>>> memory to disk.  Here, for the sake of recovery we are writing log records 
>>> on to the disk  during the transaction execution.
>> 
>> Don't you get 99.9% of this for free with Postgres' normal behavior?
>> Just increase shared_buffers.
>> 
>>>   Can any one tell me the modifications needs to be incorporated to 
>>> PostgreSQL,  so that it considers only Processing Costs during 
>>> optimization of the Query.
>> 
>> Assuming that a page fetch costs zero is wrong even in an all-in-memory
>> environment.  So I don't see any reason you can't maintain the
>> convention that a page fetch costs 1.0 unit, and just adjust the other
>> cost parameters in the light of a different idea about what that
>> actually means.
>> 
>>> Will it be sufficient, if we change the  default values of above paramters 
>>> in "src/include/optimizer/cost.h and 
>>> src/backend/utils/misc/postgresql.conf.sample" as follows:
>> 
>>>          random_page_cost = 4;
>>>          cpu_tuple_cost = 2;
>>>          cpu_index_tuple_cost = 0.2;
>>>          cpu_operator_cost = 0.05;
>> 
>> You'd want random_page_cost = 1 since there is presumably no penalty for
>> random access in this context.  Also, I think you'd want
>> cpu_operator_cost a lot higher than that (maybe you dropped a decimal
>> place?  You scaled the others up by 200 but this one only by 20).
>> 
>> It's entirely possible that the ratios of the cpu_xxx_cost values
>> aren't very good and will need work.  In the past we've never had
>> occasion to study them very carefully, since they were only marginal
>> contributions anyway.
>> 
>>             regards, tom lane
>> 
>
>

-- 
Regards.

Anjan Kumar A.
MTech2,  Comp Sci.,
www.cse.iitb.ac.in/~anjankumar
______________________________________________________________
Bradley's Bromide:    If computers get too powerful, we can organize    them into a committee -- that will do them in.


pgsql-hackers by date:

Previous
From: Mark Kirkwood
Date:
Subject: Re: Contrib Schemas
Next
From: "Andrew Dunstan"
Date:
Subject: Re: Contrib Schemas