Partilhar via


Grupos de carga de trabalho

Os grupos de cargas de trabalho permitem-lhe agrupar conjuntos de comandos de gestão e consultas com base em características partilhadas e aplicar políticas para controlar os limites por pedido e os limites de taxa de pedidos para cada um destes grupos.

Juntamente com as políticas de grupo de cargas de trabalho, os grupos de cargas de trabalho servem como um sistema de governação de recursos para pedidos recebidos para o cluster. Quando um pedido é iniciado, é classificado num grupo de cargas de trabalho. A classificação baseia-se numa função definida pelo utilizador definida como parte de uma política de classificação de pedidos. O pedido segue as políticas atribuídas ao grupo de cargas de trabalho designados ao longo da execução.

Os grupos de cargas de trabalho são definidos ao nível do cluster e podem ser definidos até 10 grupos personalizados para além dos três grupos de cargas de trabalho incorporados.

Nota

Os pedidos que não são consultas ou comandos de gestão, como pedidos de ingestão de transmissão em fluxo, não estão incluídos no âmbito dos grupos de cargas de trabalho.

Casos de utilização para grupos de cargas de trabalho personalizados

A lista seguinte abrange alguns casos de utilização comuns para criar grupos de cargas de trabalho personalizados:

  • Proteger contra consultas em fuga: Crie um grupo de cargas de trabalho com uma política de limites de pedidos para definir restrições na utilização de recursos e paralelismo durante a execução da consulta. Por exemplo, esta política pode regular o tamanho do conjunto de resultados, a memória por iterador, a memória por nó, o tempo de execução e a utilização de recursos da CPU.

  • Controle a taxa de pedidos: Crie um grupo de cargas de trabalho com uma política de limite de taxa de pedidos para gerir o comportamento de pedidos simultâneos a partir de um principal ou aplicação específico. Esta política pode restringir o número de pedidos simultâneos, a contagem de pedidos num período de tempo e o total de segundos de CPU por período de tempo. Embora o cluster tenha limites predefinidos, como limites de consulta, tem a flexibilidade de ajustar estes limites com base nos seus requisitos.

  • Criar ambientes partilhados: Imagine um cenário em que tem três equipas de clientes diferentes a executar consultas e comandos num cluster partilhado, possivelmente até mesmo a aceder a bases de dados partilhadas. Se estiver a faturar estas equipas com base na respetiva utilização de recursos, pode criar três grupos de cargas de trabalho distintos, cada um com limites exclusivos. Estes grupos de cargas de trabalho permitir-lhe-iam gerir e monitorizar eficazmente a utilização de recursos de cada equipa de clientes.

  • Monitorizar a utilização de recursos: Os grupos de cargas de trabalho podem ajudá-lo a criar relatórios periódicos sobre o consumo de recursos de um determinado principal ou aplicação. Por exemplo, se estes principais representarem clientes diferentes, esses relatórios podem facilitar a faturação precisa. Para obter mais informações, veja Monitorizar pedidos por grupo de cargas de trabalho.

Criar e gerir grupos de cargas de trabalho

Utilize os seguintes comandos para gerir grupos de cargas de trabalho e as respetivas políticas:

Políticas de grupo de cargas de trabalho

As seguintes políticas podem ser definidas por grupo de cargas de trabalho:

Grupos de cargas de trabalho incorporados

Os grupos de cargas de trabalho predefinidos são:

Grupo de carga de trabalho predefinido

Os pedidos são classificados no grupo nestas default condições:

  • Não existem critérios para classificar um pedido.
  • Foi feita uma tentativa de classificar o pedido num grupo inexistente.
  • Ocorreu uma falha de classificação geral.

Pode:

  • Altere os critérios utilizados para encaminhar estes pedidos.
  • Altere as políticas que se aplicam ao default grupo de cargas de trabalho.
  • Classificar pedidos no default grupo de cargas de trabalho.

Para monitorizar o que é classificado para o default grupo de cargas de trabalho, veja Monitorizar pedidos por grupo de cargas de trabalho.

Nota

Alguns clusters podem ter um limite máximo de consultas simultânea definido através da política de limitação de Consultas preterida. Nesses clusters, este limite foi aplicado automaticamente às defaultpolíticas de limites de taxa de pedidos do grupo de cargas de trabalho. Embora o limite antigo apenas tenha afetado consultas, o novo aplica-se a todos os pedidos, incluindo consultas e comandos de gestão.

Grupo de cargas de trabalho internos

O internal grupo de cargas de trabalho é preenchido com pedidos que são apenas para utilização interna.

Não pode:

  • Altere os critérios utilizados para encaminhar estes pedidos.
  • Altere as políticas que se aplicam ao internal grupo de cargas de trabalho.
  • Classificar pedidos no internal grupo de cargas de trabalho.

Para monitorizar o que é classificado para o internal grupo de cargas de trabalho, veja Monitorizar pedidos por grupo de cargas de trabalho.

Grupo de cargas de trabalho de vistas materializadas

O $materialized-views grupo de cargas de trabalho aplica-se ao processo de materialização de vistas materializadas. Para obter mais informações sobre como funcionam as vistas materializadas, veja Descrição geral das vistas materializadas.

Pode alterar os seguintes valores na política de limites de pedidos do grupo de cargas de trabalho:

  • MaxMemoryPerQueryPerNode
  • MaxMemoryPerIterator
  • MaxFanoutThreadsPercentage
  • MaxFanoutNodesPercentage

Nota

Não pode alterar os critérios utilizados para encaminhar estes pedidos.

Monitorizar pedidos por grupo de cargas de trabalho

Os comandos do sistema indicam o grupo de cargas de trabalho no qual um pedido foi classificado. Pode utilizar estes comandos para agregar a utilização de recursos por grupo de cargas de trabalho para pedidos concluídos.

As mesmas informações também podem ser visualizadas e analisadas nas informações do Azure Monitor.