Por que meu tempo de planejamento de consulta é tão alto no Amazon Redshift?

2 minuto de leitura
0

Meu tempo de planejamento de consultas no Amazon Redshift é maior que o tempo de execução e não sei qual é o motivo.

Breve descrição

Consultas com bloqueios exclusivos em uma carga de produção podem aumentar o tempo de espera do bloqueio. Esse aumento faz com que seu tempo de planejamento de consultas no Amazon Redshift seja muito maior que o tempo real de execução. Verifique a métrica Detalhamento da execução da workload para ver se há um aumento repentino no tempo de planejamento de consultas. Uma transação que está aguardando um bloqueio provavelmente causou o aumento no tempo.

Resolução

Para detectar uma transação que está aguardando um bloqueio, conclua as seguintes etapas:

  1. Abra uma nova sessão para seu primeiro bloqueio:

    begin; lock table1;
  2. Abra uma segunda sessão que seja executada em paralelo e, em seguida, execute a seguinte consulta:

    select * from table1 limit 1000;

    A consulta nessa segunda sessão envia uma solicitação AccessSharedLock. Como a primeira sessão já reivindicou AccessExclusiveLock, essa segunda consulta deve esperar para acessar o bloqueio. Em seguida, ExclusiveLock bloqueia todas as outras operações em table1.

  3. Verifique suas métricas Detalhamento da execução da workload. Um aumento repentino no tempo de planejamento de consultas pode confirmar que há uma transação aguardando um bloqueio.

  4. (Opcional) Se existir uma transação aguardando um bloqueio, encerre manualmente a sessão para liberar o bloqueio:

    select pg_terminate_backend(PID);

Para obter mais informações sobre a liberação de bloqueios, consulte Como detectar e liberar bloqueios no Amazon Redshift?

Informações relacionadas

Analisar o desempenho da workload

Planejamento de consulta e fluxo de trabalho de execução

AWS OFICIAL
AWS OFICIALAtualizada há 2 meses