2014-09-03 18:42 GMT-03:00 Alessandro Lima <[email protected]>:

> 1- qual a diferença entre connections e sessions?
>
>
Pelo que pude entender, "connections" conta cada conexão realizada, já
"sessions" conta quando foi conectado e desconectado. Ou seja,
"connections" é contabilizado simplesmente ao realizar uma conexão no
banco, já "sessions" contabiliza toda a duração dessas conexões. Por
exemplo, se abrir uma conexão no dia T e fechar no dia T+1 irá aparecer em
"connections" no relatório do dia T mas em "sessions" somente irá aparecer
no relatório do dia T+1.



> no exemplo: http://192.99.153.10/pgbadger.png
>
> 2- o que significa (5 MINUTES AVERAGE) se no gráfico mostra o dia inteiro?
>
>
A cada 5 minutos é coletado o tempo médio das consultas executadas e
exibido no gráfico como um único ponto. Assim você consegue ter o tempo
médio de 5 em 5 minutos. Se der um zoom no gráfico vai perceber que ele
exibe pontos sempre <hora>:00, <hora>:05, <hora>:10, <hora>:15, ...,
<hora>:55.



> 3- cliente alega que recentemente aumentou o QUERIES DURATION,
>     isto não quer dizer necessariamente que as consultas estão mais lentas,
>     basta o número de queries do dia ser maior, correto?
>
>
Correto, se o número "Average query duration" estiver aumentando, daí sim é
sinal de que as consultas estão ficando mais lentas.



> 4- no gráfico mostra que um update levou cerca de 40 segundos, este update
> também aparece na   lista de queries que demoraram mais devido bloqueio,
> qual a melhor forma de identificar quem       gerou este bloqueio?
>

hum... Não acho que conseguirá pegar isso do pgBadger, mas você pode
habilitar o parâmetro log_lock_duration, e irá aparecer mensagens como as
seguintes:

    LOG:  process 3531 still waiting for ShareLock on transaction 237386
after 1000.259 ms
    STATEMENT:  UPDATE ...

Quando for liberado outra mensagem aparecerá:

    LOG:  process 3531 acquired ShareLock on transaction 237386 after
35337.456 ms
    STATEMENT:  UPDATE ...

Agora, para verificar quem gerou esses bloqueios, você terá que usar o %x
no log_line_prefix e procurar pelo número da transação informado lá, nesse
caso 237386. É claro que para isso o comando da transação 237386 deve ter
sido logado. É bom habilitar um log completo de vez em quando, pode ser por
algum tempo (uma hora ou um dia, dependendo do tráfico; saiba que isso vai
gerar concorrência no ambiente).

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a