happytails.ai
Nederlands

Kostenschatting voor GraphQL-query's

Schat de kosten van een GraphQL-operatie voordat deze je server bereikt. Vind diep geneste selecties en selecties die door lijsten worden vermenigvuldigd, met elke aanname over lijstgroottes vastgelegd.

Accepteert een operatie van maximaal 200.000 tekens, een schema van maximaal 1.000.000 tekens en variabelen van maximaal 200.000 tekens. Telt maximaal 10.000 velden en 64 nestingsniveaus, met lijstgroottes van 1 tot 10.000 en veldkosten van 0 tot 1.000. De schatting draait in je browser in een achtergrondworker. Downloads zijn een JSON-rapport en een CSV-uitsplitsing. Eén operatie, of meerdere met de operatienaam ingesteld. Fragmenten worden uitgewerkt. Maximaal 200.000 tekens. Controleer de instellingen voordat je de tool uitvoert.

Je resultaat

Meld een probleem of deel een idee.

Kostenschatting voor GraphQL-query's
  1. Plak de GraphQL-operatie in het hoofdvak.
  2. Plak het schema als SDL of introspectie-JSON.
  3. Pas de standaardlijstgrootte, begrenzingsargumenten en veldkosten aan als je server andere waarden gebruikt.
  4. Voer de schatting uit en bekijk de grootste kostenposten, download daarna de JSON- of CSV-uitsplitsing.

Wat je kunt verwachten

Accepteert een operatie van maximaal 200.000 tekens, een schema van maximaal 1.000.000 tekens en variabelen van maximaal 200.000 tekens. Telt maximaal 10.000 velden en 64 nestingsniveaus, met lijstgroottes van 1 tot 10.000 en veldkosten van 0 tot 1.000. De schatting draait in je browser in een achtergrondworker. Downloads zijn een JSON-rapport en een CSV-uitsplitsing.

Het kostenmodel

Elk geselecteerd veld krijgt de object- of scalaire kosten van zijn retourtype, vermenigvuldigd met de lijstgroottes erboven. Het totaal is de som van de uitgewerkte veldselecties; herhaalde selecties kunnen de samengevoegde serveruitvoering daarom overschatten. __typename is gratis. Dit planningsmodel voert geen server, voorwaardelijke richtlijnen of inhoud van geneste lijsten uit en is geen limiet die door een server wordt afgedwongen.

Lijstgroottes

Een lijstveld ontleent zijn grootte aan het grootste begrenzingsargument, zoals first, last of limit. Als een waarde ontbreekt, worden de standaardwaarden van operatievariabelen en schema-argumenten gebruikt. Zonder begrenzingswaarde wordt @listSize(assumedSize:) gebruikt als dit is ingeschakeld, daarna de standaardlijstgrootte van het model. @cost(weight:) vervangt de kosten van een veld. Alle afgeleide groottes moeten gehele getallen van 1 tot 10.000 zijn en gewichten van 0 tot 1.000. Ongeldige operaties, variabelen of grenzen en cyclische fragmenten stoppen de schatting met een getypeerde fout.

Het rapport lezen

Het rapport vermeldt aannames, de tien duurste deelbomen en de volledige boom met diepte, vermenigvuldiger, lijstgrootte, eigen kosten en deelboomkosten. De CSV bevat één rij per veldpad. Fragmentverwijzingen worden uitgewerkt waar ze worden gebruikt; een cyclisch fragment is een queryvalidatiefout, geen aanname van eindige kosten.

Handige vervolgstappen