Visualizar o uso de arquivos temporários com o Insights de Performance - Amazon Relational Database Service

Visualizar o uso de arquivos temporários com o Insights de Performance

É possível usar o Insights de Performance para visualizar o uso de arquivos temporários ativando as métricas temp_bytes e temp_files. A visualização no Insights de Performance não mostra as consultas específicas que geram arquivos temporários, no entanto, ao combinar o Insights de Performance com a consulta mostrada para pg_ls_tmpdir, é possível solucionar problemas, analisar e determinar as alterações na workload de consulta.

  1. No painel do Performance Insights, selecione Gerenciar métricas.

  2. Escolha Métricas de banco de dados e selecione as métricas temp_bytes e temp_files como mostrado na imagem a seguir.

    Métricas serão exibidos no grafo.
  3. Na guia Top SQL, selecione o ícone Preferências.

  4. Na janela Preferências, ative as estatísticas a seguir para serem exibidas na guia Top SQL e selecione Continuar.

    • Gravações temporárias/segundo

    • Leituras de temperatura/segundo

    • Gravação/chamada em bloco temporário

    • Leitura/chamada em bloco temporário

  5. O arquivo temporário é dividido quando combinado com a consulta mostrada para pg_ls_tmpdir, conforme exibido no exemplo a seguir.

    Consulta que exibe o uso de arquivos temporários.

Os eventos IO:BufFileRead e IO:BufFileWrite ocorrem porque as principais consultas na workload geralmente criam arquivos temporários. Você pode usar o Insights de Performance para identificar as principais consultas que aguardam IO:BufFileRead e IO:BufFileWrite revisando “Média de sessões ativas (AAS)” nas seções “Carga do banco de dados” e “SQL principal”.

IO:BufFileRead e IO:BufFileWrite no grafo.

Para obter mais informações sobre como usar o Insights de Performance para analisar as principais consultas e a carga por eventos de espera, consulte Visão geral da guia Top SQL (SQL principal) Você deve identificar e ajustar as consultas que aumentam o uso de arquivos temporários e os eventos de espera correspondentes. Para obter mais informações sobre esses eventos de espera e a correção, consulte IO:BufFileRead e IO:BufFileWrite.

nota

O parâmetro work_mem controla quando a operação de classificação fica sem memória e os resultados são gravados em arquivos temporários. Recomendamos que você não altere a configuração desse parâmetro acima do valor padrão, pois isso permitiria que cada sessão do banco de dados consumisse mais memória. Além disso, uma única sessão que executa junções e classificações complexas pode realizar operações paralelas nas quais cada operação consome memória.

Como prática recomendada, quando você tem um relatório grande com várias junções e classificações, defina esse parâmetro no nível da sessão usando o comando SET work_mem. Depois, a alteração é aplicada somente à sessão atual e não altera o valor globalmente.