Boa tarde André,
Primeiramente muito obrigado pela ajuda,
>>Defina pra gente qual o tipo de aplicação,

Essa aplicação é uma ferramenta de monitoramento de trafego veicular em
tempo real.
todos os veículos que passam pelo local onde estão instaladas as nossas
cameras tem sua foto capturada, a placa lida e são inseridos em uma base de
dados postgresql.
Essa aplicação tem muito mais operações de insert/delete do que operações de
consulta. Isso porque as consultas são realizadas apenas pelos usuários do
software enquanto a massa de dados aumenta em função do trafego de veículos
na rodovia.

>>mas em via de regra, teu shared buffers está baixo, e o work_mem um pouco
alto.

Vou rever esses parâmetros. e verificar o ganho de desempenho com cada
configuração.

>>Não se preocupe, você pode aumentar o shared buffers entre 1GB e 2GB, a
memória é compartilhada. Mas na minha experiência >>com RedHat/Fedora, o uso
de swap acontece sempre nesses sistemas. Nos únicos servidores que fui
obrigado a usar redhat, eu >>desativei a swap e aumentei a RAM pra ter um
desempenho decente.

Esse foi exatamente o ponto que me deixou preocupado, pois embora o servidor
seja compartilhado (banco/aplicação) a soma da memória usada pelo sistema
não geraria a necessidade de swap e mesmo assim o swap estava acontecendo.

Muito obrigado pelo esclarecimento sobre o funcionamento do work_mem e
shared_buffers

[]'s
Edson Souza



Em 8 de novembro de 2010 11:04, André Volpato <
[email protected]> escreveu:

> Bom dia,
>
> ----- Mensagem original -----
> | Bom dia pessoal,
> | Estou utilizando o postgresql 8.4 no Fedora 13.
> | Meu servidor tem 8GB RAM.
> | Estou configurando o postgresql da seguinte forma:
> | shared_buffers = 512MB
> | max_connections = 50
> | work_mem = 80MB
>
>
> Defina pra gente qual o tipo de aplicação, mas em via de regra, teu shared
> buffers está baixo, e o work_mem um pouco alto.
>
>
> |
> | Quando inicio o serviço e monitoro no comando top vejo que mais de
> | mais de
> | um processo postmaster utiliza 512MB de memória residente.
>
>
> shared=compartilhado. Esses mesmos 512MB são usados por todos os processos,
> e servem principalmente pra manter na RAM dados de tabelas recentemente
> usadas.
>
>
> | Gostaria de saber se colocando o shared_buffers com 512MB pode
> | acontecer que cada uma das 50 conexões permitidas pelo max_conections
> consuma 512MB
> | de memória e com isso fazer com que o servidor use swap?
>
> Não se preocupe, você pode aumentar o shared buffers entre 1GB e 2GB, a
> memória é compartilhada. Mas na minha experiência com RedHat/Fedora, o uso
> de swap acontece sempre nesses sistemas. Nos únicos servidores que fui
> obrigado a usar redhat, eu desativei a swap e aumentei a RAM pra ter um
> desempenho decente.
>
>
>
> | O consumo de memória dos processos postmaster dependem do
> | shared_buffers ou esse paramtro não limita o consumo do processo?
>
>
> Não limita, você precisa contar também o work_mem. Cada SQL rodando
> ordenação vai usar 80MB de RAM, e, caso ele não consiga alocar esse tanto, o
> processo morre. Procure por OOM Killer, e tente reduzir o work_mem global e
> aumentá-lo via aplicação quando for necessário.
>
>
> []´s, André Volpato
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a