🌐
ChatGPT intermediate

Estratégias de otimização e performance em graphql em GraphQL

Prompt gerado automaticamente para Otimização e performance em GraphQL em GraphQL

2 usos GraphQL

Prompt completo

"Você é um engenheiro de performance sênior especializado em GraphQL. Uma grande empresa de e-commerce está enfrentando lentidão crítica em suas APIs GraphQL, impactando a experiência do usuário e as vendas. O problema principal é a sobrecarga e a ineficiência nas requisições.

A empresa utiliza um servidor GraphQL Apollo Server e um banco de dados PostgreSQL. As queries mais problemáticas são complexas, com múltiplos níveis de aninhamento e envolvem agregação de dados em coleções grandes (ex: `products` com `variants` e `reviews`, ou `orders` com `items` e `customer_details`). Há também um uso intensivo de `N+1 problems` e excesso de campos retornados nas queries (over-fetching).

Gere um plano de ação detalhado e prático para otimizar a performance das APIs GraphQL, focando em reduzir a latência e o uso de recursos. O plano deve cobrir as seguintes áreas:

1. **Otimização de Dataloaders e Batching:** Como identificar e implementar Dataloaders de forma eficaz para resolver problemas de N+1, incluindo exemplos de uso com `pg-promise` ou `knex.js` (se aplicável para PostgreSQL).
2. **Persisted Queries e Automatic Persisted Queries (APQ):** Explique os benefícios e as etapas para implementar APQ no Apollo Server, incluindo considerações de segurança e cache.
3. **Cache de Respostas GraphQL:** Estratégias para cachear respostas completas ou parciais em diferentes níveis (CDN, Redis, memória do servidor), incluindo invalidação de cache.
4. **Otimização de Queries e Resolvers:**
    * **Análise de Performance:** Ferramentas e técnicas para identificar gargalos nas queries e resolvers (ex: `apollo-tracing`, `GraphQL Inspector`).
    * **Campo de Seleção (Field Selection) e `graphql-fields`:** Como forçar os clientes a selecionar apenas os campos necessários e como os resolvers podem usar essa informação para otimizar as consultas ao banco de dados.
    * **Paginacão Eficiente:** Recomendações para paginação baseada em cursor (relay-style) vs. offset/limit, e como implementá-las para grandes datasets.
    * **Evitar Over-fetching e Under-fetching:** Como estruturar schemas

Tags relacionadas

GraphQL Otimização e performance em GraphQL gerado-automaticamente

Como usar este prompt

1

Clique no botão "Copiar" para copiar o prompt para sua área de transferência

2

Acesse sua ferramenta de IA preferida (ChatGPT, ChatGPT, Claude, etc.)

3

Cole o prompt e adapte conforme necessário para seu contexto específico