On 19-03-2016 11:44, Alessandro Lima wrote:
> Para 4GB 100 connections 9.5.x o pgconfig sugere 1GB shared_buffers, 3GB
> effective_cache_size e 41MB de work_mem
> 
> Minha dúvida é se as 100 conexões estiverem sendo usada, serão usados só
> de work_mem 4GB (41MB x 100),
> não sobrando nada para o sistema operacional, shared_buffers e
> maintenance_work_mem.
> Minha análise está correta?
> 

Está correta... o que vc precisa ter em mente é que a quantidade total
de memória que vc deve referenciar ali no pgconfig é aquela que será
*dedicada* para o PostgreSQL. Então se seu server tem 4GB podemos
presumir que vc queira deixar 1GB para SO, então vc deve colocar ali 3GB
para calcular o que será *dedicado* ao PostgreSQL.

Essa questão do work_mem é bem delicada, porque se vc tiver uma situação
bem extrema onde todas suas 100 conexões executem uma
agregação/ordenação que precise de 41MB (exatamente, pq se exceder ele
irá usar disco) então vc terá um problema. E também poderia ocorrer em
um cenário ainda mais improvável dessas 100 conexoes estarem executando
query com sub-queries que usem mais de um slot de work_mem... bom ai sim
vc tem problema.

De qualquer forma é um cenário improvável mas não impossível, então a
minha sugestão sempre é fazer uma configuração inicial (usando o
pgconfig por exemplo), acompanhar (geracao de temp files) e ir
ajustandoo para obter melhor performance.

Infelizmente não existe uma receita de bolo e solução mágica (como tudo
em TI né), então é a mesma máxima de medicina "cada caso é um caso".

Att,

-- 
   Fabrízio de Royes Mello         Timbira - http://www.timbira.com.br/
   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a