happytails.ai
Polski

Szacowanie kosztu zapytań GraphQL

Oszacuj koszt operacji GraphQL, zanim dotrze do serwera. Znajdź głęboko zagnieżdżone wybory i wybory mnożone przez listy, z zapisem każdego założenia dotyczącego rozmiaru listy.

Przyjmuje operację do 200 000 znaków, schemat do 1 000 000 znaków i zmienne do 200 000 znaków. Liczy najwyżej 10 000 pól i 64 poziomy zagnieżdżenia, przy rozmiarach list od 1 do 10 000 i kosztach pól od 0 do 1 000. Szacowanie działa w przeglądarce w osobnym zadaniu w tle. Do pobrania są raport JSON i zestawienie CSV. Jedna operacja lub kilka z podaną nazwą operacji. Fragmenty są rozwijane. Do 200000 znaków. Sprawdź ustawienia przed uruchomieniem.

Twój wynik

Zgłoś problem lub podziel się pomysłem.

Szacowanie kosztu zapytań GraphQL
  1. Wklej operację GraphQL w głównym polu.
  2. Wklej schemat jako SDL lub JSON introspekcji.
  3. Dostosuj domyślny rozmiar listy, argumenty ograniczające i koszty pól, jeśli serwer używa innych wartości.
  4. Uruchom szacowanie, sprawdź miejsca o najwyższym koszcie i pobierz zestawienie JSON lub CSV.

Warto wiedzieć

Przyjmuje operację do 200 000 znaków, schemat do 1 000 000 znaków i zmienne do 200 000 znaków. Liczy najwyżej 10 000 pól i 64 poziomy zagnieżdżenia, przy rozmiarach list od 1 do 10 000 i kosztach pól od 0 do 1 000. Szacowanie działa w przeglądarce w osobnym zadaniu w tle. Do pobrania są raport JSON i zestawienie CSV.

Model kosztu

Każde wybrane pole ma koszt obiektowy lub skalarny zależny od typu zwracanego, pomnożony przez rozmiary list nad nim. Suma obejmuje rozwinięte wybory pól, więc powtórzone wybory mogą zawyżać koszt połączonego wykonania na serwerze. __typename nie zwiększa kosztu. Ten model planowania nie wykonuje serwera, dyrektyw warunkowych ani zawartości zagnieżdżonych list i nie jest limitem narzucanym przez serwer.

Rozmiary list

Rozmiar pola listy wynika z największego argumentu ograniczającego, takiego jak first, last lub limit. Gdy wartość jest pominięta, używane są wartości domyślne zmiennych operacji i argumentów schematu. Bez wartości ograniczającej używane jest @listSize(assumedSize:), jeśli jest włączone, a następnie domyślny rozmiar listy w modelu. @cost(weight:) zastępuje koszt pola. Wszystkie wyznaczone rozmiary muszą być liczbami całkowitymi od 1 do 10 000, a wagi od 0 do 1 000. Nieprawidłowe operacje, zmienne lub granice oraz cykliczne fragmenty przerywają szacowanie błędem określonego typu.

Jak czytać raport

Raport podaje założenia, dziesięć najdroższych poddrzew i pełne drzewo z głębokością, mnożnikiem, rozmiarem listy, kosztem własnym i kosztem poddrzewa. CSV zawiera jeden wiersz na ścieżkę pola. Odwołania do fragmentów są rozwijane w miejscu użycia; cykliczny fragment jest błędem walidacji zapytania, a nie założeniem skończonego kosztu.

Przydatne kolejne kroki