Conceitos de Performance Insights - Amazon DocumentDB

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Conceitos de Performance Insights

Média de sessões ativas

Database load (DB load) (Carga do banco de dados) mede o nível de atividade no seu banco de dados. A métrica chave do Performance Insights é DB Load, que é coletada a cada segundo. A unidade para a métrica DBLoad é a Average Active Sessions (AAS) para uma instância de DocumentDB.

Uma sessão ativa é uma conexão que enviou trabalho para uma instância de DocumentDB e está aguardando uma resposta. Por exemplo, se você enviar uma consulta a uma instância de DocumentDB, a sessão do banco de dados estará ativa enquanto a instância estiver processando a consulta.

Para obter a média de sessões ativas, o Performance Insights faz uma amostra do número de sessões executando simultaneamente uma consulta. O AAS é o número total de sessões divididas pelo número total de amostras. A tabela a seguir mostra 5 amostras consecutivas de uma consulta em execução.

Amostra Número de sessões que executam a consulta AAS Cálculo

1

2

2

2 sessões/1 amostra

2

0

1

2 sessões/2 amostras

3

4

2

6 sessões/3 amostras

4

0

1.5

6 sessões/4 amostras

5

4

2

10 sessões/5 amostras

No exemplo anterior, a carga do banco de dados para o intervalo de tempo 1-5 é 2 AAS. Um aumento na carga do banco de dados significa que, em média, mais sessões estão sendo executadas no banco de dados.

Dimensões

A métrica DB Load é diferente das outras métricas da série temporal, pois você pode fragmentá-la em subcomponentes chamados de dimensões. Você pode pensar em dimensões como categorias para as diferentes características da métrica DB Load. Quando você está diagnosticando problemas de performance, as dimensões mais úteis são estados de espera e consulta principal.

estados de espera

Um evento de espera faz com que uma instrução de consulta aguarde que um evento específico aconteça antes que possa continuar a execução. Por exemplo, a execução da instrução de consulta pode aguardar até que um recurso bloqueado seja desbloqueado. Ao combinar DB Load com estados de espera, é possível obter uma imagem completa do estado da sessão. Aqui estão vários estados de espera do DocumentDB:

Estado de espera do DocumentDB Descrição do estado de espera

Latch

O estado de espera Latch ocorre quando a sessão está aguardando para paginar o buffer pool. A entrada e saída frequentes do buffer pool podem ocorrer com mais frequência quando há consultas grandes e frequentes sendo processadas pelo sistema, varreduras de coleção ou quando o buffer pool é muito pequeno para lidar com o conjunto de trabalho.

CPU

O estado de espera da CPU ocorre quando a sessão está aguardando a CPU.

CollectionLock

O estado de espera CollectionLock ocorre quando a sessão está aguardando para adquirir um bloqueio na coleção. Esses eventos ocorrem quando há operações de DDL na coleção.

DocumentLock

O estado de espera DocumentLock ocorre quando a sessão está aguardando para adquirir um bloqueio em um documento. Um alto número de gravações simultâneas no mesmo documento contribuirá para mais estados de espera do DocumentLock nesse documento.

SystemLock

O estado de espera SystemLock ocorre quando a sessão está aguardando pelo sistema. Isso pode ocorrer quando há consultas frequentes de longa duração, transações de longa duração ou alta simultaneidade no sistema.

IO

O estado de espera IO ocorre quando a sessão está aguardando pela conclusão de IO.

BufferLock

O estado de espera BufferLock ocorre quando a sessão está aguardando para adquirir um bloqueio em uma página compartilhada no buffer. Os estados de espera do BufferLock podem ser prolongados se outros processos mantiverem cursores abertos nas páginas solicitadas.

LowMemThrottle

O estado de espera do LowMemThrottle ocorre quando a sessão está em espera devido à forte pressão de memória na instância do Amazon DocumentDB. Se esse estado persistir por muito tempo, considere escalar a instância para fornecer memória adicional. Para obter mais informações, consulte Regulador de recursos.

BackgroundActivity

O estado de espera BackgroundActivity ocorre quando a sessão está aguardando processos internos do sistema.

Outros

O estado de espera Outros é um estado de espera interno. Se esse estado persistir por muito tempo, considere encerrar essa consulta. Para mais informações, consulte Como faço para localizar e encerrar consultas bloqueadas ou de longa execução?

Principais consultas

Enquanto os eventos de espera mostram gargalos, as principais consultas mostram quais consultas estão contribuindo mais para a carga do banco de dados. Por exemplo, muitas consultas podem estar atualmente em execução no banco de dados, mas uma única consulta pode consumir 99% da carga do banco de dados. Nesse caso, a carga alta pode indicar um problema com a consulta.

Máx. vCPU

No painel, o gráfico Carga de banco de dados coleta, agrega e exibe informações da sessão. Para ver se as sessões ativas estão excedendo o máximo de CPU, observe sua relação com a linha Máx. vCPU. O valor de Máx. vCPU é determinado pelo número de núcleos de vCPU (CPUs virtuais) da instância de banco de dados.

Se a carga de banco de dados estiver com frequência acima da linha Máx. vCPU e o estado de espera primário for CPU, isso indicará que a CPU está sobrecarregada. Nesse caso, convém controlar a utilização as conexões com a instância, ajustar todas as consultas com uma alta carga de CPU ou considerar uma classe de instância maior. As instâncias altas e consistentes de qualquer estado de espera indicam que pode haver problemas de gargalos ou de contenção de recursos que você deve resolver. Isso pode ser válido mesmo quando a carga do banco de dados não ultrapassa a linha de Máx. vCPU.