GraphQL-Abfragekostenschätzung
Schätze die Kosten einer GraphQL-Operation, bevor sie deinen Server erreicht. Erkenne tief verschachtelte und durch Listen vervielfachte Auswahlen mit dokumentierten Annahmen zu jeder Listengröße.
Akzeptiert eine Operation mit bis zu 200.000 Zeichen, ein Schema mit bis zu 1.000.000 Zeichen und Variablen mit bis zu 200.000 Zeichen. Zählt höchstens 10.000 Felder und 64 Verschachtelungsebenen, mit Listengrößen von 1 bis 10.000 und Feldkosten von 0 bis 1.000. Die Schätzung läuft in deinem Browser in einem Hintergrund-Worker. Downloads: ein JSON-Bericht und eine CSV-Aufschlüsselung. Eine Operation oder mehrere mit angegebenem Operationsnamen. Fragmente werden aufgefaltet. Bis zu 200.000 Zeichen. Prüfe die Einstellungen vor dem Start.
Dein Ergebnis
GraphQL-Abfragekostenschätzung
- Füge die GraphQL-Operation in das Hauptfeld ein.
- Füge das Schema als SDL oder Introspektions-JSON ein.
- Passe Standardlistengröße, Begrenzungsargumente und Feldkosten an, falls dein Server andere Werte verwendet.
- Starte die Schätzung, prüfe die Kostenschwerpunkte und lade die JSON- oder CSV-Aufschlüsselung herunter.
Was du wissen solltest
Akzeptiert eine Operation mit bis zu 200.000 Zeichen, ein Schema mit bis zu 1.000.000 Zeichen und Variablen mit bis zu 200.000 Zeichen. Zählt höchstens 10.000 Felder und 64 Verschachtelungsebenen, mit Listengrößen von 1 bis 10.000 und Feldkosten von 0 bis 1.000. Die Schätzung läuft in deinem Browser in einem Hintergrund-Worker. Downloads: ein JSON-Bericht und eine CSV-Aufschlüsselung.
Das Kostenmodell
Jedes ausgewählte Feld erhält die Objekt- oder Skalarkosten seines Rückgabetyps, multipliziert mit den übergeordneten Listengrößen. Die Gesamtkosten sind die Summe über die aufgefalteten Feldauswahlen; wiederholte Auswahlen können daher die zusammengeführte Ausführung auf dem Server überschätzen. __typename ist kostenlos. Dieses Planungsmodell führt keinen Server, keine bedingten Direktiven und keine verschachtelten Listeninhalte aus und ist keine vom Server durchgesetzte Grenze.
Listengrößen
Die Größe eines Listenfeldes ergibt sich aus dem größten Begrenzungsargument, etwa first, last oder limit. Bei ausgelassenen Werten werden Standardwerte der Operationsvariablen und Schemaargumente verwendet. Ohne Begrenzungswert wird @listSize(assumedSize:) verwendet, sofern dies aktiviert und ein Wert vorhanden ist. Andernfalls gilt die Standardlistengröße des Modells. @cost(weight:) ersetzt die Feldkosten. Alle abgeleiteten Größen müssen Ganzzahlen von 1 bis 10.000 sein, Gewichte von 0 bis 1.000. Ungültige Operationen, Variablen, Grenzen und zyklische Fragmente stoppen die Schätzung mit einem typisierten Fehler.
Den Bericht lesen
Der Bericht enthält Annahmen, die zehn teuersten Teilbäume und den vollständigen Baum mit Tiefe, Multiplikator, Listengröße, eigenen Kosten und Teilbaumkosten. Die CSV enthält eine Zeile pro Feldpfad. Fragmentverweise werden an jeder Verwendung aufgefaltet; ein zyklisches Fragment ist ein Abfragevalidierungsfehler und keine Annahme endlicher Kosten.