Compreenda a política de limitação de capacidade da Fabric

O throttling ocorre quando as operações consomem mais unidades de capacidade () segundos do que o SKU de capacidade permite. As unidades de capacidade medem o poder de computação disponível para cada SKU. Uma limitação excessiva pode resultar numa experiência degradada para o utilizador final. Um cliente do Microsoft Fabric pode criar várias capacidades e atribuir espaços de trabalho a uma capacidade específica para fins de faturação e dimensionamento.

Fabric aplica limitação ao nível de capacidade. Enquanto uma capacidade, ou conjunto de espaços de trabalho, pode experienciar desempenho reduzido devido à sobrecarga, outras capacidades podem continuar a funcionar normalmente. Quando uma capacidade produz funcionalidades, como itens OneLake, e outra capacidade as consome, o estado de limitação da capacidade que consome determina se aplica limitação às chamadas ao item.

Como a Fabric equilibra desempenho e fiabilidade

A Fabric oferece desempenho rápido aos seus clientes. Tarefas que podem levar vários minutos para serem concluídas em outras plataformas podem ser concluídas em poucos segundos no Fabric. Grandes operações podem ser executadas a qualquer hora do dia sem necessidade de agendamento cuidadoso porque o Fabric distribui o cálculo dessas operações por um período de tempo mais longo, sem abrandar a operação. O Fabric permite este comportamento usando bursting e suavização incorporados. Estas funcionalidades permitem que as capacidades se auto-gerenciem e se auto-curem quando picos temporários de utilização fariam com que outros sistemas falhassem ou desacelerassem.

Bursting: Utiliza mais computação do que a capacidade que o SKU fornece

Para garantir um desempenho rápido, o Fabric utiliza bursting para executar operações o mais rapidamente possível. Com o bursting, as operações podem utilizar temporariamente mais capacidade de computação do que a capacidade de computação provisionada do SKU de capacidade. Por causa do bursting, obtém-se resultados sem esperar. Uma capacidade menor também pode usar o bursting para operar operações maiores que normalmente exigiriam uma capacidade mais cara.

Suavização: Distribuir a utilização de CU por momentos temporais futuros

Para evitar penalizá-lo quando as operações beneficiam de picos de utilização, o Fabric suaviza, ou calcula a média, do uso de CU de uma operação num período mais alargado. Este comportamento garante que pode usufruir de um desempenho rápido e consistente, sem redução de desempenho.

A suavização distribui o uso de CU consumido sobre pontos de tempo futuros. Os pontos de tempo no Fabric têm 30 segundos de duração. As próximas 24 horas contêm 2.880 pontos de tempo. O Fabric gere automaticamente a quantidade de CUs consumidas em cada ponto temporal.

O tipo de utilização de uma operação determina o número de instantes temporais que o Fabric utiliza para efetuar a suavização. Saiba mais sobre as operações de fabrico têxtil.

  • O Fabric distribui as operações interativas ao longo de, no mínimo, cinco minutos e até 64 minutos, dependendo da utilização de CU que consomem.
  • O Fabric suaviza as operações em segundo plano ao longo de 24 horas, porque estas têm normalmente tempos de execução longos e um elevado consumo de CU.

Devido à suavização, apenas uma parte do uso das Unidades de Computação (CU) para uma operação se aplica a qualquer momento específico, o que reduz a limitação de desempenho em geral. O uso de CU suavizado acumula-se à medida que as operações são executadas. A capacidade futura, que são as CUs disponíveis em futuros pontos temporais, paga pelo uso suavizado porque a capacidade funciona de forma contínua.

A expansão e a suavização funcionam em conjunto para tornar o seu trabalho mais fácil. Por exemplo, normalmente dedicas tempo a agendar tarefas e a distribuí-las ao longo do dia. Com a suavização, o Fabric distribui o custo de computação pelos trabalhos em segundo plano ao longo de 24 horas. Como resultado, os trabalhos agendados podem correr todos simultaneamente sem causar picos que de outra forma bloqueariam o início dos trabalhos. Ao mesmo tempo, pode desfrutar de um desempenho consistentemente rápido sem esperar que os trabalhos lentos sejam concluídos ou sem perder tempo a gerir horários de tarefas.

Nota

O Fabric não suporta picos de utilização nem uniformização quando o administrador da capacidade ativa a faturação de escalabilidade automática do Spark. Neste cenário, o uso do Spark funciona num modo pay-as-you-go, e os conceitos de bursting e smoothing não se aplicam.

Gatilhos do acelerador e estágios do acelerador

Mesmo que as capacidades tenham suavização integrada que reduz o impacto de picos de uso, ainda é possível sobrecarregar uma capacidade executando muitas operações.

A capacidade restringe automaticamente novas operações quando está sobrecarregada. A limitação do desempenho acontece em etapas progressivas para minimizar o impacto em tarefas importantes, como a atualização de dados.

Mesmo quando uma capacidade está operando acima de 100% de utilização, o Fabric não aplica imediatamente a restrição. Em vez disso, a capacidade oferece proteção contra excesso de utilização que lhe permite consumir 10 minutos de capacidade futura sem limitação. Este comportamento oferece proteção limitada contra picos, ao mesmo tempo que proporciona aos utilizadores um desempenho consistentemente rápido sem interrupções.

A limitação começa quando uma capacidade consome todos os seus recursos de UC nos próximos 10 minutos. A primeira fase da limitação aplica atrasos de 20 segundos a novas operações interativas. A segunda fase da limitação rejeita novas operações interativas quando uma capacidade esgota todos os seus recursos de CU para a hora seguinte. Durante esta fase, as operações em segundo plano podem iniciar e ser executadas. A terceira fase da limitação rejeita todas as novas solicitações, interativas e em segundo plano, quando a capacidade esgota todos os recursos de CU disponíveis nas 24 horas seguintes. A capacidade continua a limitar os pedidos até liquidar as CUs consumidas.

Nota

A Microsoft tenta melhorar a flexibilidade do cliente no uso do serviço, equilibrando a necessidade de gerenciar o uso da capacidade do cliente. Por esse motivo, a Microsoft pode alterar ou atualizar a política de limitação do Fabric.

A tabela seguinte resume os gatilhos e estágios de limitação.

Utilização Limite de apólice Impacto na experiência
Utilização <= 10 minutos Proteção contra excesso de idade Os trabalhos podem consumir 10 minutos de uso futuro da capacidade sem limitação.
10 minutos < Utilização <= 60 minutos Atraso interativo O Fabric atrasa os trabalhos interativos solicitados pelo utilizador em 20 segundos na submissão.
60 minutos < de utilização <= 24 horas Rejeição interativa O Fabric rejeita trabalhos interativos solicitados pelos utilizadores.
Utilização > 24 horas Rejeição de antecedentes Fabric rejeita todos os pedidos.

Exemplo: Como o suavizamento reduz a limitação numa operação em segundo plano

Eis um exemplo ilustrativo de como funciona a uniformização para uma operação em segundo plano que consumiu 1 hora de CU (a sua utilização foi equivalente a 1 CU durante 1 hora). O Fabric suaviza as operações em segundo plano ao longo de 24 horas. A contribuição de uma operação em segundo plano para qualquer instante corresponde às horas de CU da operação divididas pelas horas de CU do SKU ao longo do período de suavização. Um F2 oferece 2 CUs, ou 48 horas de CU por dia (2 CUs multiplicadas por 24 horas). Este trabalho contribui com 1 hora de CU / 48 horas de CU = ~2,1% para cada instante temporal. O impacto nos limites de throttling de 10 minutos e 60 minutos também é de ~2,1%.

Aqui está o detalhe que suporta o exemplo:

1 hora = 3.600 segundos (1 multiplicado por 60 minutos por hora e 60 segundos por minuto).

Cada ponto temporal tem uma duração de 30 segundos. Em 24 horas, há 2.880 pontos de tempo (24 horas * 60 minutos * 2 pontos de tempo por minuto).

Como a suavização distribui os 3.600 segundos de CU ao longo de 24 horas, a tarefa contribui com 3.600 segundos de CU / 2.880 intervalos de tempo para cada intervalo de 30 segundos. Portanto, contribui com 1,25 segundos de CU por ponto temporal.

A percentagem de limitação de 10 minutos baseia-se no total de CUs disponíveis nos próximos 10 minutos de disponibilidade da capacidade.

Uma capacidade F2 oferece 2 unidades de computação. Em cada ponto temporal, um F2 tem 2 CUs multiplicados por 30 segundos = 60 segundos de computação.

A contribuição do processo em segundo plano para qualquer instante temporal individual é de 1,25 segundos de CU / 60 segundos de CU = ~2,1% de um instante temporal individual.

Em 10 minutos, o F2 tem 2 CUs multiplicados por 600 segundos = 1.200 segundos de cálculo.

A parte da tarefa em segundo plano que o suavizamento distribui pelos 10 minutos seguintes de capacidade é 1,25 segundos de CU multiplicados por 20 instantes = 25 segundos de CU.

Assim, a percentagem de limitação em 10 minutos é de 25 segundos de CU / 1.200 segundos de CU = ~2,1%.

Da mesma forma, o impacto percentual de limitação de 60 minutos do trabalho em segundo plano também é de ~2,1%.

Apesar de a operação em segundo plano ter consumido mais CUs do que as disponíveis nos próximos 10 minutos (consumindo seis vezes a quantidade), a capacidade F2 não é limitada porque a suavização distribui o total de CUs ao longo de 24 horas. Devido à suavização, apenas uma pequena parte das UCs consumidas se aplica a qualquer ponto de tempo individual.

Excessos, transporte de saldo e redução

Quando as operações consomem mais capacidade do que a SKU suporta num único ponto temporal, o sistema calcula um excesso. O sistema calcula os excedentes após a suavização. Se os excedentes excederem a janela de limitação permitida de 10 minutos, tornam-se CUs de transporte .

A proteção contra excesso garante que a capacidade não acelere até que a janela de aceleração de 10 minutos esteja cheia. Reduz a frequência dos atrasos interativos causados por picos temporários de utilização.

A Fabric aplica as CUs de transporte a cada ponto temporal subsequente. Se um ponto temporal não estiver cheio, as CUs não utilizadas reduzem a quantidade de CUs transportadas . Esta redução corresponde ao burndown.

A aplicação da limitação continua até que a capacidade não utilizada pague todas as UCs acumuladas.

Monitorização das capacidades de estrangulamento

Os administradores de capacidade podem configurar alertas por email para os limiares de capacidade utilizando os Eventos de Visão Geral de Capacidade. Os administradores também podem usar o aplicativo de métricas de capacidade para revisar os níveis de limitação de sua capacidade.

Dimensionamento correto e otimização de uma capacidade

Níveis de limitação consistentemente altos indicam a necessidade de balancear a carga em várias capacidades ou aumentar o tamanho de SKU da capacidade. Para SKUs F, podes escalar a capacidade. Escalar entre SKUs em lados opostos da fronteira F256 e F512 pode resultar numa experiência mais lenta.

Como saber quando está a ocorrer limitação de capacidade

Quando uma capacidade rejeita pedidos, vê códigos de erro específicos e texto de erro:

  • Código de status CapacityLimitExceeded
  • Mensagem de erro Your organization's Fabric compute capacity has exceeded its limits. Try again later.
  • Mensagem de erro Cannot load model due to reaching capacity limits

Nota

O desempenho lento deve-se frequentemente ao design de um item. Apenas às vezes o desempenho é lento devido à limitação de capacidade.

Quando uma capacidade está sobrecarregada, um administrador de capacidade pode usar a aplicação de métricas de capacidade do Fabric para confirmar a limitação.

  • A tabela Eventos do sistema na página Computação mostra o histórico de eventos de limitação.
  • Os gráficos de Limitação na página Computação mostram quando o uso suavizado excede um dos limites de limitação.

Como parar a limitação quando ela ocorre

As capacidades são auto-recuperáveis, pelo que pode sempre esperar até que o estado de sobrecarga termine antes de submeter novos pedidos.

No entanto, para parar de limitar a velocidade mais rapidamente, pode usar as seguintes estratégias.

Para parar o estrangulamento ao usar as capacidades de SKU F:

  • Aumente temporariamente o SKU. Ao aumentar o seu SKU, você reduz o acumulado mais rapidamente, porque cada período tem mais capacidade ociosa.
  • Pausa e depois retoma a tua capacidade. Pausar uma capacidade resulta num evento de faturação para a utilização de capacidade acumulada que ocorrerá no futuro. Quando uma capacidade é iniciada ou retomada, ela tem zero uso de capacidade futura para que possa aceitar novas operações imediatamente. Pausar pode tornar o conteúdo atribuído à capacidade indisponível, por isso primeiro certifique-se de que a capacidade não está a ser utilizada.
  • A faturação por excesso de capacidade também pode evitar a ocorrência de estrangulamento; no entanto, custa três vezes a taxa normal de capacidade. Para mais informações, consulte Ativar excedência de capacidade.

Ao utilizar as capacidades do SKU P, para reduzir a restrição:

As operações durante o voo não são restringidas

A limitação afeta apenas as operações solicitadas a partir do momento em que a capacidade começa a ser limitada. Todas as operações, incluindo as de longa duração que submeteu antes de a limitação começar, podem ser executadas até à conclusão. Este comportamento assegura-lhe que as operações são concluídas, mesmo durante picos de utilização de CU.

Proteção contra estrangulamento composto

No Fabric, uma operação geralmente aciona outros itens ou cargas de trabalho para serem concluídos. Há muitos exemplos, mas um típico é visualizar um relatório. Cada visual no relatório executa uma consulta em relação a um modelo semântico subjacente. O modelo semântico pode também ler dados do OneLake para fornecer o resultado da consulta. Cada um destes pedidos forma uma cadeia.

Quando há uma cadeia de chamadas, existe o risco de limitação composta, que ocorre quando o Fabric aplica a limitação mais do que uma vez ao mesmo pedido. O Fabric tem proteção integrada contra a limitação composta que reduz a probabilidade de limitação composta. As cargas de trabalho podem optar por esta proteção.

Quando as cargas de trabalho suportam proteção contra limitação composta, o Fabric limita um pedido apenas uma vez para cada capacidade que participa na cadeia. A decisão de limitação ocorre quando a solicitação é iniciada e se aplica a todas as operações na cadeia.

Se uma cadeia depende de mais do que uma capacidade, então cada capacidade impõe a sua limitação uma vez para o primeiro pedido recebido na cadeia.

As seguintes experiências de carga de trabalho oferecem suporte à limitação composta:

  • Modelos semânticos que se ligam a outros modelos semânticos usando DirectQuery.
  • Consultas DAX de relatórios paginados para modelos semânticos.

O comportamento de limitação é específico para as cargas de trabalho do Fabric

Embora a maioria dos produtos Fabric siga as regras de limitação já mencionadas, existem algumas exceções.

Por exemplo, os fluxos de eventos Fabric têm muitas operações que podem funcionar durante anos após o início. Limitar as novas operações de fluxo de eventos não faria sentido; por isso, o Fabric reduz a quantidade de recursos de CU alocados à manutenção do fluxo aberto até que a capacidade volte a estar em condições adequadas.

Outra exceção é o Real-Time Intelligence, que não seria em tempo real se introduzisse um atraso de 20 segundos nas operações. Como resultado, a Real-Time Intelligence não aplica o primeiro estágio de limitação com atrasos de 20 segundos a 10 minutos de capacidade futura. Real-Time Intelligence aguarda até a fase de rejeição em 60 minutos de capacidade futura para começar a acelerar. Este comportamento garante que pode continuar a desfrutar de desempenho em tempo real mesmo durante períodos de alta procura.

De forma semelhante, a Fabric classifica quase todas as operações na categoria Warehouse como segundo plano, para tirar partido da suavização de 24 horas da atividade e permitir os padrões de utilização mais flexíveis. Classificar todo o armazenamento de dados como em segundo plano evita que picos de utilização de CUs desencadeiem a limitação da capacidade muito rapidamente. Algumas solicitações podem desencadear uma cadeia de operações às quais o Fabric aplica uma limitação diferente. Quando uma operação interativa inicia uma cadeia que inclui uma operação em segundo plano, o Fabric pode limitar a operação em segundo plano como se fosse uma operação interativa.

Classificações interativas e de plano de fundo para regulação e suavização

Pode reparar que o Fabric por vezes classifica as operações como interativas e as suaviza como segundo plano, ou vice-versa. Esta distinção ocorre porque os sistemas de limitação da Fabric têm de aplicar regras de limitação antes de um pedido começar a ser executado.

O sistema de controlo de fluxo tenta categorizar com precisão as operações após o envio. Às vezes, quando uma operação começa a ser executada, informações mais detalhadas ficam disponíveis que alteram a categorização. Em cenários ambíguos, o sistema de limitação de débito opta por classificar as operações como operações em segundo plano, o que é mais vantajoso para si.

Rastreie excessos e operações rejeitadas

Para ver se a sua capacidade está sobrecarregada, consulte o gráfico de Utilização na aplicação Microsoft Fabric Capacity Metrics. Um pico que ultrapassa a linha indica um excesso. Para investigar melhor o excesso, aceda diretamente à página do ponto de tempo. Depois revê tanto as tuas operações interativas como as em segundo plano para ver quais causaram os excessos.

Como a utilização superior a 100% não significa automaticamente limitação, use o gráfico de limitação para avaliar os excedentes. A partir daí, abra uma tabela que mostra os minutos até ao esgotamento, um gráfico com adições, esgotamento e percentagem acumulada, entre outros elementos. Minutos para queimar estima quanto tempo levaria o processo de queima se não ocorressem mais operações na capacidade.

Animação que mostra a opção de drill-through para um ponto de tempo selecionado.

Para visualizar um histórico visual de qualquer excesso de utilização da capacidade, incluindo o saldo transitado, os valores cumulativos e a redução dos dados de utilização, aceda ao separador Excedentes. Altere a escala visual dos excedentes para mostrar 10 minutos, 60 minutos e 24 horas.

Animação que mostra a filtragem cruzada entre o gráfico de fita com várias métricas e o gráfico da percentagem de CU ao longo do tempo.

A análise detalhada da aplicação Microsoft Fabric Capacity Metrics mostra operações que o Fabric rejeitou durante um evento de limitação. Há pouca informação sobre estas operações porque nunca começaram. Pode ver o produto, o utilizador, o ID da operação e a hora do pedido. Quando o Fabric rejeita um pedido, os utilizadores finais recebem uma mensagem de erro a pedir para tentarem novamente mais tarde.

Capacidade de computação faturável e não faturável nos cálculos de limitação

Quando você analisa o uso da capacidade no aplicativo de métricas de capacidade, algumas operações são faturáveis e outras não são faturáveis. Os cálculos de limitação incluem apenas operações faturáveis. Algumas capacidades de pré-visualização podem gerar operações não faturáveis. Use operações não faturáveis para planear com antecedência, de modo a dimensionar corretamente a sua capacidade para quando estas funcionalidades de pré-visualização se tornarem faturáveis.