

# Controlar o uso da capacidade
<a name="capacity-management-control-capacity-usage"></a>

Você pode controlar o número de DPUs que o Athena aloca para suas consultas definindo controles de DPU máximo ou mínimo. Você pode configurá-los no nível do grupo de trabalho para estabelecer controles de linha de base para todas as consultas, ou no nível de consulta individual para um controle refinado. Isso lhe dá controle direto sobre a performance da consulta, a simultaneidade das workloads e os custos.
+ Quando você define um número máximo de DPUs, as consultas são impedidas de consumir mais capacidade do que você especifica. Isso simplifica o controle de custos e a simultaneidade das workloads. Por exemplo, se sua reserva de capacidade tiver 200 DPU, definir a DPU máxima por consulta como 8 permitirá que você execute 25 consultas simultaneamente. Se você aumentar sua reserva para 400 DPUs, poderá executar 50 consultas simultaneamente.
+ Ao definir um número mínimo de DPU, você garante que as consultas sejam executadas com o número mínimo desejado de DPUs. Isso é útil quando você sabe com antecedência o perfil típico de uso da capacidade das suas consultas.

**nota**  
Os controles de uso de DPUs se aplicam somente às consultas executadas com reservas de capacidade.

**nota**  
Para usar o mesmo número de DPUs para todas as consultas, use o mesmo valor para a DPU mínima e máxima.

## Definir controles de DPU no nível do grupo de trabalho
<a name="capacity-management-set-dpu-controls-workgroup-level"></a>

Defina controles de DPU no nível do grupo de trabalho para gerenciar os custos e controlar a performance das workloads para o grupo de trabalho que você escolher. Os controles de DPU definidos no nível do grupo de trabalho se aplicam a todas as consultas quando a opção **Substituir as configurações do lado do cliente** está habilitada.

**Para definir os controles de DPU usando o console**

1. Abra o console do Athena em [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home).

1. No painel de navegação, escolha **Global networks** (Redes globais).

1. Selecione um grupo de trabalho que use uma reserva de capacidade.

1. Na guia **Controles de execução**, escolha **Editar controles**.

1. Configure o seguinte:
   + Em **DPU mínimo por consulta**, insira um valor entre 4 e 124 em incrementos de 4.
   + Em **DPU máximo por consulta**, insira um valor entre 4 e 124 em incrementos de 4.

1. Escolha **Salvar**.

1. (Opcional) Selecione **Substituir as configurações do lado do cliente** para aplicar essas configurações e ignorar as configurações de DPU no nível de consulta.

**Para definir controles de DPU usando a AWS CLI**
+ Use o comando `update-work-group` para definir controles de DPU para um grupo de trabalho:

  ```
  aws athena update-work-group \
    --work-group "my_workgroup" \
    --configuration-updates '{
          "EngineConfiguration": {
              "Classifications": [
                  {
                      "Name": "athena-query-engine-properties",
                      "Properties": {
                          "max-dpu-count" : "24",
                          "min-dpu-count" : "12"
                          }
                      }
                  ]
          }}'
  ```

  Se você definir `EnforceWorkGroupConfiguration` como `true`, as configurações do grupo de trabalho substituirão quaisquer controles de DPU especificados no nível da consulta quando enviados via [StartQueryExecution](https://docs.aws.amazon.com/athena/latest/APIReference/API_StartQueryExecution.html). Isso garante uma alocação consistente de recursos em todas as consultas no grupo de trabalho.

## Definir controles de DPU com consultas individuais
<a name="capacity-management-set-dpu-controls-individual-queries"></a>

Defina controles de DPU no nível de consulta quando precisar de um controle refinado com consultas que tenham requisitos de recursos diferentes. Os controles de DPU no nível da consulta têm precedência sobre as configurações no nível do grupo de trabalho, a menos que o grupo de trabalho tenha a opção **Substituir as configurações do lado do cliente** habilitada.

**Para definir controles de DPU para uma consulta usando o console**

1. Abra o console do Athena em [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home).

1. No painel de navegação, selecione **Query editor (Editor de consultas)**.

1. Selecione um grupo de trabalho que use uma reserva de capacidade.

1. Escolha a guia **Configurações da consulta**.

1. Na seção **Controles de execução**, escolha **Editar controles**.

1. Configure o seguinte:
   + Em **DPU mínimo por consulta**, insira um valor entre 4 e 124 em incrementos de 4.
   + Em **DPU máximo por consulta**, insira um valor entre 4 e 124 em incrementos de 4.

1. Escolha **Salvar**.

**Para definir controles de DPU para uma consulta usando a AWS CLI**
+ Use o comando `start-query-execution` com o parâmetro `engine-configuration`:

  ```
  aws athena start-query-execution \
    --query-string "SELECT * FROM my_table LIMIT 10" \
    --work-group "my_workgroup" \
    --engine-configuration '{
      "Classifications": [ {
          "Name": "athena-query-engine-properties",
              "Properties": {
                  "max-dpu-count" : "32",
                  "min-dpu-count" : "8"
                  }
              }
          ]}'
  ```

A relação entre as configurações de DPU no nível da consulta e no nível do grupo de trabalho depende da configuração do seu grupo de trabalho:
+ Quando a opção **Substituir as configurações do lado do cliente** está habilitada, os controles de DPU no nível do grupo de trabalho têm precedência sobre qualquer configuração no nível da consulta. Isso garante o uso consistente dos recursos para todas as consultas no grupo de trabalho especificado.
+ Quando a opção **Substituir as configurações do lado do cliente** não está habilitada, os controles de DPU no nível da consulta têm precedência sobre as configurações no nível do grupo de trabalho. Isso oferece flexibilidade para otimizar as consultas individuais.

Se você não especificar controles de DPU em nenhum dos níveis, o Athena alocará automaticamente a capacidade com base na complexidade da consulta.

**nota**  
Para consultas DDL, o valor máximo para o mínimo de DPU é 4. Definir um mínimo mais alto para consultas DDL resulta em erro.

## Monitorar o uso de DPU
<a name="capacity-management-monitor-dpu-usage"></a>

Após as consultas serem concluídas, você pode visualizar seu uso de DPUs. O Athena fornece métricas de uso de DPU por meio do console, de operações de API e do CloudWatch.

**Para ver o consumo de DPUs no console**

1. Abra o console do Athena em [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home).

1. No painel de navegação, selecione **Query editor (Editor de consultas)**.

1. Depois que uma consulta for concluída, visualize seu valor de **DPU consumido** no contêiner de resultados da consulta.

1. Para ver o consumo de DPU de consultas anteriores:

   1. No painel de navegação, escolha **Consultas recentes**.

   1. Selecione o ícone de configurações para adicionar a coluna **DPUs consumidas** à tabela, caso ainda não esteja exibida.

   1. Analise o consumo de DPUs para cada consulta concluída.

1. Opcionalmente, no **Editor de consultas**, escolha a guia **Estatísticas da consulta** e revise as **DPUs consumidas**.

**Para recuperar o consumo de DPU usando a API**

1. Use as seguintes operações de API para recuperar o consumo de DPU de forma programática:
   + `GetQueryExecution`: retorna detalhes da execução de uma consulta específica
   + `BatchGetQueryExecution`: retorna detalhes da execução de várias consultas

1. Exemplo: usando a AWS CLI:

   ```
   aws athena get-query-execution \
     --query-execution-id "123e4567-e89b-12d3-a456-426614174000"
   ```

   A resposta inclui o campo `DpuCount` no objeto `Statistics`:

   ```
   {
     "QueryExecution": {
       "Statistics": {
         "DpuCount": 8
       }
     }
   }
   ```

**Para monitorar o uso de DPU com o CloudWatch**
+ O Athena publica métricas relacionadas a consultas no CloudWatch que ajudam você a monitorar a utilização da capacidade e outros dados de performance. Para saber mais, consulte [Monitorar métricas de consultas do Athena com o CloudWatch](query-metrics-viewing.md).