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
