Michel Sabchuk escreveu:
> Tenho reparado que meu servidor tem um alto nível de atividade de
> leitura e escrita de dados. Instalei o iotop para descobrir quem era o
> responsável por isso e notei que um processo costuma aparecer com
> frequencia: "postgres: stats collector process".
> 
O coletor de estatística aparece com frequência (por padrão, ciclo de 500 ms).
Mas isso que *não* quer dizer que ele seja o problema. Sugiro avaliar se ele
está causando picos de I/O e prejudicando a performance do SGBD. Já vi casos
com dezenas de milhares de tabelas em que ele estava fazendo muita I/O e,
realmente, estava "atrapalhando" o desempenho de algumas consultas. Nestes
casos é aconselhável colocar o arquivo de estatísticas em RAM. Eu *não*
aconselho de maneira alguma desabilitar o coletor de estatísticas a _não_ ser
que esteja trabalhando com dados puramente estáticos.

As estatísticas ficam armazenadas no arquivo temporário
$PGDATA/global/pgstat.stat em versões anteriores a 8.4; a partir da 8.4, ele é
controlado pelo parâmetro stats_temp_directory no postgresql.conf.

Se estiver utilizando Linux, basta montar o sistema de arquivo tmpfs assim:

# mount -t tmpfs -o size=100M,uid=postgres,gid=postgres,mode=0700 tmpfs /my/dir

Os outros Unixes utilizam o mesmo conceito de tmpfs. Quanto ao Windows, acho
que ele não possui o conceito de sistema de arquivos em memória.

Se estiver no 8.4 basta especificar /my/dir em stats_temp_directory; senão,
vai precisar mover o arquivo de estatísticas pgstat.stat para /my/dir e criar
um link simbólico em $PGDATA/global.


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a