Partilhar via


Gerenciamento de carga de trabalho no Analytics Platform System

Os recursos de gerenciamento de carga de trabalho do SQL Server PDW permitem que usuários e administradores atribuam solicitações a configurações predefinidas de memória e simultaneidade. Use a gestão de carga de trabalho para melhorar o desempenho de uma carga de trabalho, seja ela consistente ou mista, permitindo que as solicitações tenham os recursos adequados sem privar nenhuma solicitação indefinidamente.

Por exemplo, com as técnicas de gerenciamento de carga de trabalho no SQL Server PDW, você pode:

  • Aloque um grande número de recursos para um trabalho de carga.

  • Especifique mais recursos para criar um índice columnstore.

  • Solucione problemas de uma junção de hash de desempenho lento para ver se ela precisa de mais memória e, em seguida, forneça-lhe mais memória.

Noções básicas de gerenciamento de carga de trabalho

Indicações-chave

Gerenciamento de carga de trabalho
Gestão de Carga de Trabalho é a capacidade de compreender e ajustar a utilização dos recursos do sistema para alcançar o melhor desempenho para solicitações simultâneas.

Classe de recurso
No SQL Server PDW, uma classe de recurso é uma função de servidor interna com limites pré-atribuídos para memória e simultaneidade. O SQL Server PDW aloca recursos para solicitações de acordo com a classe de recurso e à associação à função de servidor do login que submete as solicitações.

Nos nós de computação, a implementação de classes de recursos usa o recurso Administrador de Recursos no SQL Server. Para obter mais informações sobre o Administrador de Recursos, consulte do Administrador de Recursos no MSDN.

Compreender a utilização atual de recursos

Para entender a utilização de recursos do sistema para as solicitações em execução no momento, use as exibições de gerenciamento dinâmico do SQL Server PDW. Por exemplo, você pode usar DMVs para entender se uma junção de hash grande de execução lenta poderia se beneficiar por ter mais memória.

Ajustar alocações de recursos

Para ajustar a utilização do recurso, altere a associação da classe de recurso do logon que está enviando a solicitação. As funções de servidor da classe de recursos são nomeadas mediumrc, largerce xlargerc. Representam alocações de recursos de tamanhos médio, grande e extra grande, respectivamente.

Por exemplo, para alocar uma grande quantidade de recursos do sistema a uma solicitação, adicione o login que está enviando a solicitação à função de servidor largerc. A instrução ALTER SERVER ROLE a seguir adiciona o login Anna à função de servidor largerc.

ALTER SERVER ROLE largerc ADD MEMBER Anna;  

Descrições de classe de recurso

A tabela a seguir descreve as classes de recursos e suas alocações de recursos do sistema.

Classe de recurso Importância do Pedido Uso máximo de memória* Slots de Concorrência (Máximo = 32) Descrição
Inadimplência Médio 400 MB 1 Por padrão, a cada login é permitida uma pequena quantidade de memória e recursos de simultaneidade para suas solicitações.

Quando um logon é adicionado a uma classe de recurso, a nova classe tem precedência. Quando um login é descartado de todas as classes de recursos, o login reverte para a alocação de recursos padrão.
MédioRC Médio 1200 MB 3 Exemplos de solicitações que podem precisar da classe de recurso média:

Operações CTAS que têm grandes junções de hash.

SELECT operações que precisam de mais memória para evitar o armazenamento em cache no disco.

Carregando dados em índices de armazenamento em colunas clusterizados.

Criando, reconstruindo e reorganizando índices columnstore clusterizados para tabelas menores com 10 a 15 colunas.
Largerc Alto 2,8 GB 7 Exemplos de solicitações que podem precisar da classe de recurso grande:

Operações CTAS muito grandes que têm grandes junções de hash ou contêm grandes agregações, como grandes cláusulas ORDER BY ou GROUP BY.

Operações SELECT que exigem grandes quantidades de memória para operações como junções de hash ou agregações como cláusulas ORDER BY ou GROUP BY

Carregando dados em índices de armazenamento em colunas clusterizados.

Criando, reconstruindo e reorganizando índices columnstore clusterizados para tabelas menores com 10 a 15 colunas.
XLARGERC Alto 8,4 GB 22 A classe de recurso extra grande é para solicitações que podem exigir consumo de recursos extra grande em tempo de execução.

*O uso máximo de memória é uma aproximação.

Importância do Pedido

A importância da solicitação corresponde à quantidade de tempo de CPU que o SQL Server, em execução nos nós de computação, atribuirá às solicitações. Solicitações com prioridade mais alta recebem mais tempo de CPU.

Uso máximo de memória

O uso máximo de memória é a quantidade máxima de memória disponível que uma solicitação pode usar dentro de cada espaço de processamento. Por exemplo, uma solicitação mediumrc pode usar até 1200 MB para processamento dentro de cada distribuição. Ainda é importante garantir que os dados não sejam distorcidos, a fim de evitar que algumas distribuições executem a maior parte do trabalho.

Slots de Concorrência

O objetivo de alocar 1, 3, 7 e 22 slots de simultaneidade é permitir que processos grandes e pequenos sejam executados ao mesmo tempo, sem bloquear processos pequenos quando um processo grande está em execução. Por exemplo, o SQL Server PDW pode alocar no máximo 32 slots de simultaneidade para executar 1 solicitação extra grande (22 slots), 1 solicitação grande (7 slots) e 1 solicitação média (3 slots) ao mesmo tempo.

Exemplos de alocação de até 32 slots de simultaneidade para solicitações simultâneas:

  • 28 slots = 4 grandes

  • 30 slots = 10 médios

  • 32 slots = 32 padrão

  • 32 slots = 1 extra grande + 1 grande + 1 médio

  • 32 slots = 2 grandes + 4 médios + 6 padrão

Suponha que 6 solicitações grandes sejam enviadas ao SQL Server PDW e, em seguida, 10 solicitações padrão sejam enviadas. O SQL Server PDW processará as solicitações na ordem de prioridade da seguinte maneira:

  • Aloque 28 slots de simultaneidade para iniciar o processamento de 4 solicitações grandes à medida que a memória fica disponível e mantenha 2 solicitações grandes na fila.

  • Aloque 4 slots de simultaneidade para iniciar o processamento de 4 solicitações padrão e mantenha 6 solicitações padrão na fila de espera.

À medida que as solicitações são concluídas e os slots de simultaneidade ficam disponíveis, o SQL Server PDW alocará as solicitações restantes de acordo com os recursos e a prioridade disponíveis. Por exemplo, quando há 7 slots de simultaneidade abertos, as solicitações grandes em espera terão prioridade mais alta para os 7 slots do que as solicitações médias em espera. Se 6 slots forem abertos, o SQL Server PDW alocará mais 6 solicitações de tamanho padrão. No entanto, os slots de memória e simultaneidade devem estar disponíveis antes que o SQL Server PDW permita a execução de uma solicitação.

Dentro de cada classe de recurso, as solicitações são executadas na ordem de chegada (FIFO - first in first out).

Observações gerais

Se um login for membro de mais de uma classe de recurso, a classe com mais recursos terá precedência.

Quando um login é adicionado ou descartado de uma classe de recurso, a alteração entra em vigor imediatamente para todas as solicitações futuras; As solicitações atuais que estão em execução ou aguardando não são afetadas. O login não precisa desconectar e reconectar para que a alteração ocorra.

Para cada login, as configurações de classe de recurso são aplicadas a instruções e operações individuais, e não à sessão.

Antes de executar uma instrução, o SQL Server PDW tenta adquirir os slots de simultaneidade necessários para a solicitação. Se não puder adquirir slots de simultaneidade suficientes, o SQL Server PDW moverá a solicitação para um estado de espera para execuçãoto-be. Todos os recursos do sistema que já foram alocados para a solicitação são devolvidos ao sistema.

A maioria das instruções SQL sempre precisa das alocações de recursos padrão e, portanto, não são controladas por classes de recursos. Por exemplo, CREATE LOGIN só precisa de uma pequena quantidade de recursos e são atribuídos os recursos padrão, mesmo que o login que chama CREATE LOGIN seja um membro de uma classe de recursos. Por exemplo, se Anna for membro da classe de recursos largerc e enviar uma instrução CREATE LOGIN, a instrução CREATE LOGIN será executada com o número padrão de recursos.

Instruções SQL e operações regidas por classes de recursos:

  • RECONSTRUÇÃO DO ÍNDICE ALTER

  • ALTERAR ÍNDICE REORGANIZAR

  • RECONSTRUÇÃO DA TABELA ALTER

  • CRIAR ÍNDICE CLUSTERIZADO

  • CRIAR ÍNDICE COLUMNSTORE CLUSTERIZADO

  • CRIAR TABELA COMO SELECIONAR

  • CRIAR TABELA REMOTA COMO SELEÇÃO

  • Carregando dados com dwloader.

  • INSERT-SELECT

  • ATUALIZAÇÃO

  • SUPRIMIR

  • RESTAURE A BASE DE DADOS ao efetuar a restauração num dispositivo com mais nodos de computação.

  • SELECT, excluindo consultas somente do DMV

Limitações e Restrições

As classes de recursos governam as alocações de memória e simultaneidade. Não regem as operações de entrada/saída.

Metadados

DMVs que contêm informações sobre classes de recursos e membros de classes de recursos.

DMVs que contêm informações sobre o estado das solicitações e os recursos necessários:

Exibições de sistema relacionadas expostas pelos DMVs do SQL Server nos nós de cálculo. Consulte de Exibições de Gerenciamento Dinâmico do SQL Server para obter links para esses DMVs no MSDN.

  • sys.dm_pdw_nodes_resource_governor_resource_pools

  • sys.dm_pdw_nodes_resource_governor_workload_groups

  • sys.dm_pdw_nodes_resource_governor_resource_pools

  • sys.dm_pdw_nodws_resource_governor_workload_groups

  • sys.dm_pdw_nodes_exec_sessions

  • sys.dm_pdw_nodes_exec_requests

  • sys.dm_pdw_nodes_exec_query_memory_grants

  • sys.dm_pdw_nodes_exec_query_resource_semaphores

  • sys.dm_pdw_nodes_os_memory_brokers

  • sys.dm_pdw_nodes_os_memory_cache_entries

  • sys.dm_pdw_nodes_exec_cached_plans

Tarefas relacionadas

Tarefas de gerenciamento de carga de trabalho