Redução de filas

Este tópico discute como um proprietário ou administrador de warehouse pode reduzir a fila de espera a fim de melhorar o desempenho das consultas em um warehouse.

Se muitas consultas forem enviadas a um warehouse ao mesmo tempo, os recursos de computação do warehouse se esgotam e as consultas subsequentes ficam em fila até que os recursos fiquem disponíveis. O tempo entre o envio de uma consulta e a obtenção de seus resultados é maior quando a consulta deve esperar em uma fila antes de começar.

Nota

Você deve ter acesso ao banco de dados SNOWFLAKE compartilhado para executar as consultas de diagnóstico fornecidas neste tópico. Por padrão, somente a função ACCOUNTADMIN tem os privilégios necessários para executar as consultas.

Como encontrar filas

Snowsight:

Para determinar se um warehouse específico está passando por filas de espera:

  1. Entre em Snowsight.

  2. Navegue até Admin » Warehouses.

  3. Selecione o warehouse.

  4. No gráfico Warehouse Activity, use a cor associada a Queued load para identificar as filas.

  5. Procure padrões na altura das barras para determinar se as filas estão associadas a picos de uso.

SQL:

Consulta: warehouses com filas*

Esta consulta lista os warehouses que tiveram uma fila no último mês, ordenados por data.

SELECT TO_DATE(start_time) AS date
  ,warehouse_name
  ,SUM(avg_running) AS sum_running
  ,SUM(avg_queued_load) AS sum_queued
FROM snowflake.account_usage.warehouse_load_history
WHERE TO_DATE(start_time) >= DATEADD(month,-1,CURRENT_TIMESTAMP())
GROUP BY 1,2
HAVING SUM(avg_queued_load) > 0;
Copy

Você também pode escrever consultas na exibição QUERY_HISTORY para calcular o tempo que as consultas passam na fila.

Opções para reduzir as filas

Você tem várias opções para parar as filas no warehouse:

  • Para um warehouse normal (ou seja, não um warehouse multicluster), considere a criação de warehouses adicionais, e depois distribua as consultas entre eles. Se consultas específicas estiverem causando picos de uso, concentre-se em mover essas consultas.

  • Considere converter um warehouse em um warehouse multicluster para que o warehouse possa prover recursos de computação adicionais de forma flexível quando houver picos de demanda. Warehouses multicluster exigem a Enterprise Edition do Snowflake.

  • Se você já estiver utilizando um warehouse multicluster, aumente o número máximo de clusters.

Considerações sobre custo

Para uma descrição de como o funcionamento de um warehouse multicluster afeta o consumo de crédito, consulte Tamanho multicluster e uso de crédito.

Se você estiver administrando um warehouse multicluster no modo de dimensionamento automático, você pode usar uma política de dimensionamento para ajudar a controlar os custos. A política de dimensionamento da economia favorece a conservação dos créditos em vez da flexibilidade do cluster, mantendo os clusters em funcionamento totalmente carregados em vez de iniciar clusters adicionais. Isto pode resultar em consultas sendo colocadas em fila e levar mais tempo para serem concluídas.

Como configurar os warehouses para reduzir as filas

Warehouses regulares:

Para criar novos warehouses para os quais as consultas podem ser distribuídas, faça login em Snowsight e selecione Admin » Warehouses. Você também pode usar o comando CREATE WAREHOUSE.

Warehouses multicluster:

Para converter um warehouse existente em um warehouse multicluster ou para aumentar o número máximo de clusters para um warehouse existente:

  1. Entre em Snowsight.

  2. Navegue até Admin » Warehouses.

  3. Encontre o warehouse e selecione » Edit.

  4. Se você estiver se convertendo para um warehouse multicluster, ative a opção Multi-cluster Warehouse. Se esta opção não for exibida, atualize para Enterprise Edition ou superior.

  5. Use o menu suspenso Max Clusters para ajustar o número máximo de clusters.