>>Autovacuum não faz bloqueios. Ele faz locks compartilhados que
não fazem nenhuma consulta esperar.
e update, faz esperar? no relatório tive update com mais de 50
minutos de duração.
Sim. Melhor você estudar um pouquinho sobre o MVCC.
Um update pode bloquear outro sobre que atue sobre as mesmas linhas e
esse bloqueio dura até o final da transação daquele que chegou primeiro.
>>Não nada nos seus arquivos que indique "bloqueio de autovacuum".
>>De onde você tirou essa conclusão?
Eu não estava na empresa no momento, mas meus colegas disseram que
pelo monitor do pgadmin o id de quem estava bloqueando era de um
autovacuum.
Isso não existe. Primeiro, o que é "id" ?
Segundo, como eles viram isso?
>>O principal ninguém diz:
>>Como estão configurados e distribuídos seus discos?
tudo no mesmo hd.
Aí sim a coisa complica.
Você pode estar tendo baixo desempenho por isso (e não bloqueio
propriamente dito, embora seja possível como vimos acima) e isso se
amplifica quando o autovacuum entra em execução.
Considere fazer os seguintes estudos:
- qual o perfil da sua aplicação, o que ela faz;
- quais as consultas mais lentas (isso o PgBadger já te mostrou);
- quais as tabelas e índices mais acessados (pg_statio_user_tables,
pg_statio_user_indexes);
- separe o pg_xlog pra outro disco já pra começar;
- separe o S.O. pra outro disco, também já pra começar;
- qual o tamanho do seu banco de dados em disco.
Junte tudo, entenda seu banco de dados e o modelo dele, compre mais
discos, reajuste os parâmetros autovacuum_* e tudo vai dar certo.
[]s
Flavio Gurgel
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral