Thanks for your help everyone.

I set:
shared_buffers = 4GB
effective_cache_size = 72GB
work_mem = 128MB
maintenance_work_mem = 4GB
checkpoint_segments = 64
checkpoint_completion_target = 0.9
random_page_cost = 3.5
cpu_tuple_cost = 0.05

Where can I get the values for random_page_cost and for cpu_tuple_cost
where they depend on hardware? I know that for SSDs random_page_cost should
be 1.0, but I have no idea what value this should be for different types of
drives.

I also set:
vm.swappiness = 0
vm.overcommit_memory = 2
vm.overcommit_ratio = 50

But I don't understand why do I need to set overcommit_memory, since I only
have postgres running, nothing else would allocate memory anyway?

I will set readahead later, first I want to see how is this working.

Strahinja Kustudić | System Engineer | Nordeus



On Wed, Oct 10, 2012 at 10:52 AM, Julien Cigar <jci...@ulb.ac.be> wrote:

>  On 10/10/2012 10:30, Strahinja Kustudić wrote:
>
> Thanks for very fast replies everyone :)
>
> @Laurenz I know that effective cache size is only used for the query
> planner, what I was saying is that if I tell it that it can have 90GB
> cached items, that is not trues, since the OS and Postgres process itself
> can take more than 6GB, which would mean 90GB is not the correct value, but
> if effective_cache size should be shared_buffers+page cache as Tomas said,
> than 90GB, won't be a problem.
>
>
> @Tomas here are the values:
>
> # cat /proc/sys/vm/swappiness
> 60
> # cat  /proc/sys/vm/overcommit_memory
> 0
> # cat  /proc/sys/vm/overcommit_ratio
> 50
>
> I will turn of swappiness, I was meaning to do that, but I don't know much
> about the overcommit settings, I will read what they do.
>
>
> @Julien thanks for the suggestions, I will tweak them like you suggested.
>
>
> also with 15k SCSI you can reduce random_page_cost to 3.5 (instead of 4.0)
> I also recommend to raise cpu_tuple_cost to 0.05 (instead of 0.01), set
> vm.swappiness to 0, vm.overcommit_memory to 2, and finally raise the
> read-ahead (something like 8192)
>
>
>   Strahinja Kustudić | System Engineer | Nordeus
>
>
>
> On Wed, Oct 10, 2012 at 10:11 AM, Julien Cigar <jci...@ulb.ac.be> wrote:
>
>> On 10/10/2012 09:12, Strahinja Kustudić wrote:
>>
>>> Hi everyone,
>>>
>>
>>  Hello,
>>
>>
>>
>>> I have a Postgresql 9.1 dedicated server with 16 cores, 96GB RAM and
>>> RAID10 15K SCSI drives which is runing Centos 6.2 x64. This server is
>>> mainly used for inserting/updating large amounts of data via
>>> copy/insert/update commands, and seldom for running select queries.
>>>
>>> Here are the relevant configuration parameters I changed:
>>>
>>> shared_buffers = 10GB
>>>
>>
>>  Generally going over 4GB for shared_buffers doesn't help.. some of the
>> overhead of bgwriter and checkpoints is more or less linear in the size of
>> shared_buffers ..
>>
>>  effective_cache_size = 90GB
>>>
>>
>> effective_cache_size should be ~75% of the RAM (if it's a dedicated
>> server)
>>
>>  work_mem = 32MB
>>>
>>
>> with 96GB of RAM I would raise default work_mem to something like 128MB
>>
>>  maintenance_work_mem = 512MB
>>>
>>
>> again, with 96GB of ram you can raise maintenance_work_mem to something
>> like 4GB
>>
>>
>>  checkpoint_segments = 64
>>> checkpoint_completion_target = 0.8
>>>
>>> My biggest concern are shared_buffers and effective_cache_size, should I
>>> increase shared_buffers and decrease effective_cache_size? I read that
>>> values above 10GB for shared_buffers give lower performance, than smaller
>>> amounts?
>>>
>>> free is currently reporting (during the loading of data):
>>>
>>> $ free -m
>>> total used free shared buffers cached
>>> Mem: 96730 96418 311 0 71 93120
>>> -/+ buffers/cache: 3227 93502
>>> Swap: 21000 51 20949
>>>
>>> So it did a little swapping, but only minor, still I should probably
>>> decrease shared_buffers so there is no swapping at all.
>>>
>>> Thanks in advance,
>>> Strahinja
>>>
>>
>>   Julien
>>
>>
>> --
>> No trees were killed in the creation of this message.
>> However, many electrons were terribly inconvenienced.
>>
>>
>>
>> --
>> Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org
>> )
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-performance
>>
>>
>
>
> --
> No trees were killed in the creation of this message.
> However, many electrons were terribly inconvenienced.
>
>

Reply via email to