Postgresql Usar mais memória ram

1. Postgresql Usar mais memória ram

Leonardo Santos da Mata
leonardoestagio

(usa Suse)

Enviado em 05/03/2018 - 14:47h

Boa tarde,

Alguém poderia me dar alguma dia do que está faltando eu fazer para o postgresql usar mais memória ram do meu servidor?

Eu tenho um server que tem 12 GB de Ram mas o postgresql não mexe no consumo da memória.

eu já li e alterei os parametros?

work_mem
maintenance_work_mem
shared_buffers

e nada...

O s.o. do meu server é o ubuntu server e a versão do banco é a 9.3.

Algué sabe me dizer o que eu estou deixando de fazer?


  


2. Re: Postgresql Usar mais memória ram

Hugo Cerqueira
hrcerq

(usa Outra)

Enviado em 05/03/2018 - 21:07h

Caro Leonardo, boa noite.

Já vi muita gente se queixar de que uma aplicação consome muita memória. Mas no seu caso, é o contrário... a queixa é de que o consumo esteja baixo. Confesso que fiquei curioso.

Mas acho que entendi o que você quer dizer (se não entendi, por favor corrija): o problema é que uma determinada consulta ou grupo de consultas está apresentando desempenho insatisfatório e você acredita que o PostgreSQL poderia usar de mais memória, disponível no sistema, para dar um retorno mais rápido. Por algum motivo ainda não identificado, o tempo de resposta está aquém do esperado, mesmo com memória sobrando, seria esse o problema?

Se for isso mesmo, então tenho que pontuar duas coisas:

1. A quantidade de memória usada na consulta pode não ser o gargalo. Talvez esteja tendo problema com latência de rede ou de I/O de disco. Quando isso acontece, não adianta aumentar a memória, você precisa primeiro identificar o gargalo. Pra isso, deve usar os planos de execução do PostgreSQL, que vão te apresentar os detalhes das operações intermediárias executadas antes do resultado final. Assim você consegue encontrar quais são as operações que estão demorando mais e ter uma noção mais clara de onde está o gargalo.

2. Uma vez identificado o gargalo, você talvez perceba que não precisa aumentar o consumo de memória. Remover a latência de rede ou de disco ou qualquer que seja o gargalo pode já ser o bastante. Tenha cuidado ao alterar parâmetros. Faça um estudo de como o sistema está se comportando pra ter uma previsão melhor de como essas mudanças vão impactar no serviço. Se você altera o valor do parâmetro work_mem para além do necessário, pode estar dando carta branca para que os usuários façam consultas muito pesadas, acima do que o servidor suporta.

Dito isto, recomendo analisar o plano de execução das consultas que está fazendo. Observe se não há possibilidade de que algum índice melhore o desempenho evitando escaneamentos completos de tabelas (full table scan), se não há otimizações que podem ser feitas na própria consulta, alterando por exemplo a ordem de aplicação de filtros. Há muito que se pode fazer além de aumentar memória.

Sobre planos de execução no PostgreSQL 9.3:
https://www.postgresql.org/docs/9.3/static/sql-explain.html

---

Atenciosamente,
Hugo Cerqueira


3. Re: Postgresql Usar mais memória ram

Leonardo Santos da Mata
leonardoestagio

(usa Suse)

Enviado em 14/03/2018 - 16:00h

Boa tarde HUgo,

Obrigado pela atenção.

O meu servidor tem 12 GB de RAM e geralmente a cpu dele fica entre 50 e 60%. Em dia de estress muito alto aqui. tipo a cpu vai para 80 a 90% e a memoria ram não aumento o consumo. Eu quero e preciso verificar alguma forma o consumo de memória.

Tipo as vezes quando a cpu está rodando a 90% o consumo de memória ram não chegam nem 1 GB.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts