Maximize o desempenho do seu banco de dados com a ferramenta pg_activity

Maximize o desempenho do seu banco de dados com a ferramenta pg_activity

O monitoramento eficaz de um banco de dados é crucial para manter um desempenho otimizado e garantir a disponibilidade contínua de suas aplicações. Neste post, vamos explorar como a ferramenta pg_activity pode facilitar o monitoramento detalhado das atividades em tempo real do PostgreSQL, para você não ficar mais perdido com o que está acontecendo no seu banco de dados.

O pg_activity é uma ferramenta de linha de comando que fornece insights valiosos sobre as atividades em um servidor PostgreSQL. Ao executar consultas em tempo real no banco de dados, ele apresenta uma visão abrangente das sessões ativas, consultas em execução, bloqueios, consumo de recursos e outras informações relevantes.

Instalação do pg_activity

A partir de pacotes de distribuição:

A maneira mais simples de instalar o pg_activity é através do gerenciador de pacotes da sua distribuição Linux, caso ele esteja disponível. Por exemplo, em distribuições baseadas em Debian (como Debian, Ubuntu, Mint…):

sudo apt install pg-activity

Ou em distribuições baseadas no Red Hat:

sudo yum install pg_activity

Observação: pacotes de distribuição podem não estar atualizados com as versões mais recentes do pg_activity.

A partir do PyPI:

O pg_activity pode ser instalado usando o pip no Python 3.7 ou posterior, juntamente com o psycopg:

python3 -m pip install “pg_activity[psycopg]”

A partir do código-fonte, usando o git:

Primeiro, clone o repositório:

git clone https://github.com/dalibo/pg_activity.git

Então, crie um ambiente dedicado e instale o pg_activity com o driver de banco de dados psycopg:

cd pg_activity

python3 -m venv .venv

. .venv/bin/activate

(.venv) $ pip install “.[psycopg]”

(.venv) $ pg_activity

Para sair deste ambiente e destruí-lo:

deactivate

rm -r .venv

Usando o pg_activity

Após a instalação, você pode usar o pg_activity para monitorar e analisar as atividades em seu servidor PostgreSQL, a ferramenta irá abrir um painel com informações completas sobre seu banco de dados e tudo que está sendo executado no momento.

Inicie o pg_activity no terminal executando o seguinte comando:

pg_activity

Entendendo as colunas

O pg_activity exibe várias colunas que fornecem informações úteis sobre as atividades do banco de dados. Aqui estão mais detalhes sobre elas:

  • PID: Identificador do processo que está executando o comando.
  • Database: Banco de dados em que a sessão está conectada.
  • App: Nome da aplicação cliente.
  • User: Nome do usuário da sessão conectada.
  • Client: Endereço IP ou nome do host do cliente.
  • Time: Tempo decorrido da consulta em execução.
  • Waiting: Consulta em espera ou não (Y ou N).
  • State: Estado da sessão (ativo, inativo, bloqueado etc.).
  • Query: Consulta em execução.

Além de todas essas informações nas colunas, o painel ainda possui um cabeçalho onde mostra informações gerais sobre sua instância, como, por exemplo, informações sobre sessões, transações por segundo ou o estado dos seus processos conectados no seu banco de dados. Informações que facilitam um diagnostico rápido em caso de gargalo ou problemas com o banco de dados.

Atalhos e comandos:

O pg_activity oferece atalhos e comandos interativos para facilitar a navegação e a interação durante a execução do comando. Alguns atalhos úteis incluem:

  • Setas para Cima/Para Baixo: Navegar pelas sessões/comandos em execução.
  • Espaço: Pausar a atualização dos comandos.
  • V: Alterar modo de visualização dos comandos.
  • – e +: Alterar tempo de atualização dos comandos.
  • K: Finalizar sessão selecionada (Y para confirmar e N para cancelar).
  • Ctrl+C ou Q: Sair do pg_activity.

Análise de Bloqueios:

Uma das funcionalidades valiosas do pg_activity é a capacidade de identificar e visualizar bloqueios que estão ocorrendo no seu banco de dados. Pelo painel podemos ver quais são as consultas que estão sendo bloqueadas, consultas bloqueando e informações completas sobre elas.

Você tem três opções de visualização de painel, a primeira é pela tecla F1/1 que mostra informações sobre suas sessões em andamento, a segunda é alterada pela tecla F2/2 que mostra informações sobre consultas que estão sendo bloqueadas e estão em espera, e a terceira opção é alterada pela tecla F3/3 onde mostra informações sobre consultas que estão bloqueando outras consultas.

Com essas informações, você pode precisar finalizar manualmente uma sessão que esteja bloqueando outras sessões, usando a tecla K para finalizar a sessão selecionada e confirmando com a tecla Y, você finaliza a sessão desejada.

Conclusão

Lembre-se de que o pg_activity é uma ferramenta poderosa para análise em tempo real e resolução de problemas, e é essencial para ambiente com PostgreSQL, para obter uma visão detalhada do seu banco de dados e não perder qual o ofensor que pode estar te prejudicando ou causando gargalos. Com pg_activity você pode obter insights detalhados sobre as atividades em seu servidor PostgreSQL e tomar medidas proativas para otimizar o desempenho e resolver problemas. Mantenha-se atento às atividades em seu banco de dados e garanta um ambiente de banco de dados saudável e eficiente.

 

 

 

 

                     

Anterior Guia completo: Implantação de MongoDB resiliente no Google Kubernetes Engine
Próxima Monitoramento de Dados: Como Utilizar o PostgreSQL e o PgPool com Zabbix

About author

Guilherme Staskoviak
Guilherme Staskoviak 5 posts

DBA Consultor & Instrutor PostgreSQL, amante de tecnologia e música.

View all posts by this author →

Você pode gostar também

Infraestrutura TI

Prepare sua empresa para 2022 com a Consultoria e Cursos 4Linux

Sua empresa está preparada para 2022? Em um mercado cada vez mais competitivo, e principalmente após uma pandemia, a inovação e tecnologia são fundamentais para a sobrevivência e podem ser

Infraestrutura TI

Guia Completo: Como Configurar o FreeIPA para Gerenciamento de Identidade

Este post é o Primeiro de uma série de posts sobre o FreeIPA O que é o FreeIPA ? O FreeIPA (Free Identity, Policy and Audit) é um sistema FOSS

Infraestrutura TI

Proteja seu e-mail contra spam e vírus com ferramentas open source

Um dos maiores ou até mesmo o maior problema quando falamos de e-mail é o recebimento de spam e vírus, um incomodo enorme tanto para o cliente final como a