Re: Very poor read performance, query independent

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Igor,

I set shared_buffers to 24 GB and effective_cache_size to 64GB and I can see that the queries are faster due to the fact that the index are used more often. Knowing I have 72GB of RAM and the server is exclusively dedicated to Postgresql, what could be the maximum value for effective_cache?
Thanks!

Charles

On Tue, Jul 11, 2017 at 5:16 PM, Igor Neyman <ineyman@xxxxxxxxxxxxxx> wrote:

 

From: pgsql-performance-owner@postgresql.org [mailto:pgsql-performance-owner@xxxxxxxxxxxxxx] On Behalf Of Igor Neyman
Sent: Tuesday, July 11, 2017 10:34 AM
To: Charles Nadeau <charles.nadeau@xxxxxxxxx>
Cc: pgsql-performance@postgresql.org
Subject: Re: Very poor read performance, query independent

 

From: Charles Nadeau [mailto:charles.nadeau@gmail.com]
Sent: Tuesday, July 11, 2017 6:43 AM
To: Igor Neyman <ineyman@xxxxxxxxxxxxxx>
Cc: Andreas Kretschmer <andreas@xxxxxxxxxxxxxxx>; pgsql-performance@postgresql.org
Subject: Re: Very poor read performance, query independent

 

Igor,

 

I reduced the value of random_page_cost to 4 but the read speed remains low.

Regarding effective_cache_size and shared_buffer, do you mean they should be both equal to 64GB?

Thanks for suggestions!

 

Charles

 

No, they should not be equal.

From the docs:

 

effective_cache_size (integer)

Sets the planner's assumption about the effective size of the disk cache that is available to a single query. This is factored into estimates of the cost of using an index; a higher value makes it more likely index scans will be used, a lower value makes it more likely sequential scans will be used. When setting this parameter you should consider both PostgreSQL's shared buffers and the portion of the kernel's disk cache that will be used for PostgreSQL data files. Also, take into account the expected number of concurrent queries on different tables, since they will have to share the available space. This parameter has no effect on the size of shared memory allocated by PostgreSQL, nor does it reserve kernel disk cache; it is used only for estimation purposes. The system also does not assume data remains in the disk cache between queries. The default is 4 gigabytes (4GB).

So, I’d set shared_buffers at 24GB and effective_cache_size at 64GB.

 

Regards,

Igor

 

Also, maybe it’s time to look at execution plans (explain analyze) of specific slow queries, instead of trying to solve the problem “in general”.

 

Igor

 




--

[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux