Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A API do Microsoft Fabric para GraphQL oferece uma maneira poderosa de consultar dados com eficiência, mas a otimização de desempenho é fundamental para garantir um desempenho suave e escalonável. Se você estiver lidando com consultas complexas ou otimizando tempos de resposta, as práticas recomendadas a seguir ajudam você a obter o melhor desempenho da implementação do GraphQL e maximizar a eficiência da API no Fabric.
Quem precisa de otimização de desempenho
A otimização de desempenho é crucial para:
- Desenvolvedores de aplicativos que criam aplicativos de alto tráfego que consultam lakehouses e armazéns do Fabric
- Engenheiros de dados otimizando padrões de acesso a dados do Fabric para aplicativos de análise em larga escala e processos ETL
- Administradores de workspace do Fabric gerenciando o consumo de capacidade e garantindo uma utilização eficiente de recursos
- Desenvolvedores de BI melhorando os tempos de resposta para aplicativos de análise personalizados baseados em dados do Fabric
- Equipes de DevOps solucionando problemas de latência em aplicativos de produção que consomem APIs do Fabric
Use essas práticas recomendadas quando a API do GraphQL precisar lidar com cargas de trabalho de produção com eficiência ou quando você estiver enfrentando problemas de desempenho.
Alinhamento da região
As chamadas à API entre regiões são uma causa comum de alta latência. Para obter um desempenho ideal, verifique se os aplicativos cliente, o locatário do Fabric, a capacidade e as fontes de dados estão todos na mesma região do Azure.
Verifique sua região de locatário
Para encontrar a região do cliente do Fabric:
- Entre no portal do Microsoft Fabric com uma conta de administrador
- Selecione o ícone de Ajuda (?) no canto superior direito
- Na parte inferior do painel Ajuda, selecione Sobre o Fabric
- Observe a região exibida nos detalhes do locatário
Verifique sua região de capacidade
Sua API para GraphQL é executada dentro de um limite de capacidade específico. Para localizar a região de capacidade:
Abra o workspace que hospeda sua API para GraphQL
Ir para Configurações do workspace>Informações de licença
Localizar a região na capacidade de licença
Verificar a região da fonte de dados
A localização de suas fontes de dados também afeta o desempenho:
- Fontes de dados do Fabric (Lakehouse, Data Warehouse, Banco de Dados SQL): usam a mesma região que a capacidade do espaço de trabalho
- Fontes de dados externas (Banco de Dados SQL do Azure etc.): verifique o local do recurso no portal do Azure
Prática recomendada: implantar aplicativos cliente na mesma região que sua capacidade do Fabric e fontes de dados para minimizar a latência de rede.
Práticas recomendadas de teste de desempenho
Ao avaliar o desempenho da API, siga estas diretrizes para resultados confiáveis e consistentes.
Usar ferramentas de teste realistas
Teste com ferramentas que correspondem de perto ao seu ambiente de produção:
- Scripts ou aplicativos: Use scripts Python, Node.js ou .NET que simulem o comportamento real do cliente
- Pool de conexões HTTP: reutilize conexões HTTP para reduzir a latência, especialmente importante para cenários entre regiões
- Gerenciamento de sessão: manter sessões entre solicitações para refletir com precisão o uso do mundo real
Recursos de exemplo:
- Script de teste de desempenho exemplificativo (notebook Python)
- Objetos de sessão HTTP no Python
- Diretrizes do HttpClient para .NET
Coletar métricas significativas
Para uma avaliação precisa de desempenho:
- Automatizar testes: use scripts ou ferramentas de teste de desempenho para executar testes consistentemente durante um período definido
- Aquecer a API: executar várias consultas de teste antes de medir o desempenho (consulte os requisitos de aquecimento)
- Analisar distribuições: use métricas baseadas em percentil (P50, P95, P99) em vez de apenas médias para entender os padrões de latência
- Teste sob carga: medir o desempenho com volumes de solicitação simultâneos realistas
- Condições do documento: registrar a hora do dia, a utilização da capacidade e quaisquer cargas de trabalho simultâneas durante o teste
Problemas comuns de desempenho
Entender esses problemas comuns ajuda você a diagnosticar e resolver problemas de desempenho com eficiência.
Requisitos de aquecimento
Problema: a primeira solicitação de API leva significativamente mais tempo do que as solicitações subsequentes.
Por que isso acontece:
- Inicialização da API: quando ocioso, o ambiente de API precisa ser inicializado durante a primeira chamada, adicionando alguns segundos de latência
- Aquecimento de fonte de dados: muitas fontes de dados (especialmente Pontos de extremidade do SQL Analytics e data warehouses) passam por uma fase de aquecimento quando acessadas após ficarem ociosas.
- Inicialização combinada: se a API e a fonte de dados estiverem ociosas, os tempos de inicialização serão compostos
Solution:
- Execute de 2 a 3 consultas de teste antes de medir o desempenho
- Para aplicativos de produção, implemente endpoints de verificação de integridade que mantêm a API ativa
- Considere usar consultas agendadas ou ferramentas de monitoramento para manter um estado ativo durante o horário comercial
Desalinhamento regional
Problema: latência consistentemente alta em todas as solicitações.
Por que isso acontece: As chamadas de rede entre regiões adicionam latência significativa, especialmente quando o cliente, a API e as fontes de dados estão em diferentes regiões do Azure.
Solution:
- Verifique se o aplicativo cliente, a capacidade do Fabric e as fontes de dados estão na mesma região
- Se o acesso entre regiões for inevitável, implemente estratégias agressivas de cache
- Considere implantar réplicas de API regionais para aplicativos globais
Desempenho da fonte de dados
Problema: as solicitações de API são lentas mesmo quando a API é aquecida e as regiões são alinhadas.
Por que isso acontece: A API para GraphQL atua como uma interface de consulta em suas fontes de dados. Se a fonte de dados subjacente tiver problemas de desempenho, como índices ausentes, consultas complexas ou restrições de recurso, a API herdará essas limitações.
Solution:
- Teste diretamente: consultar diretamente a fonte de dados (usando SQL ou outras ferramentas nativas) para estabelecer um desempenho de linha de base
-
Otimize a fonte de dados:
- Adicionar índices apropriados para colunas consultadas com frequência
- Considere o armazenamento de dados certo para seu caso de uso: Guia de decisão do Fabric – escolha um armazenamento de dados
- Examinar os planos de execução de consulta para oportunidades de otimização
- Capacidade dimensionada corretamente: Garanta que o SKU de capacidade do Fabric fornece recursos de computação suficientes. Consulte os conceitos do Microsoft Fabric para obter diretrizes sobre como selecionar a capacidade apropriada.
Design de consulta
Problema: algumas consultas têm um bom desempenho, enquanto outras são lentas.
Por que isso acontece:
- Over-fetching: solicitar mais campos do que o necessário aumenta o tempo de processamento
- Aninhamento profundo: consultas com muitos níveis de relações aninhadas exigem várias execuções de resolvedores
- Filtros ausentes: consultas sem filtros apropriados podem retornar dados excessivos
Solution:
- Solicitar somente os campos necessários na consulta GraphQL
- Limitar a profundidade das relações aninhadas sempre que possível
- Usar filtros e paginação apropriados em suas consultas
- Considere dividir consultas complexas em várias consultas mais simples quando apropriado