Ocenjevalnik stroškov poizvedb GraphQL
Ocenite strošek operacije GraphQL, preden doseže strežnik. Poiščite globoko ugnezdene izbire in izbire seznamov, katerih stroški se množijo, pri čemer je vsaka predpostavka o velikosti seznama navedena.
Sprejme operacijo z največ 200.000 znaki, shemo z največ 1.000.000 znaki in spremenljivke z največ 200.000 znaki. Upošteva največ 10.000 polj in 64 ravni gnezdenja, velikosti seznamov od 1 do 10.000 ter stroške polj od 0 do 1.000. Ocena se izvede v opravilu v ozadju brskalnika. Prenesete lahko poročilo JSON in razčlenitev CSV. Ena operacija ali več operacij, če je nastavljeno ime operacije. Fragmenti so razširjeni. Do 200.000 znakov. Pred zagonom preglejte nastavitve.
Vaš rezultat
Ocenjevalnik stroškov poizvedb GraphQL
- Prilepite operacijo GraphQL v glavno polje.
- Prilepite shemo kot SDL ali introspekcijski JSON.
- Prilagodite privzeto velikost seznama, argumente za izrez in stroške polj, če vaš strežnik uporablja drugačne vrednosti.
- Zaženite oceno, preglejte najbolj obremenjena mesta in prenesite razčlenitev JSON ali CSV.
Kaj lahko pričakujete
Sprejme operacijo z največ 200.000 znaki, shemo z največ 1.000.000 znaki in spremenljivke z največ 200.000 znaki. Upošteva največ 10.000 polj in 64 ravni gnezdenja, velikosti seznamov od 1 do 10.000 ter stroške polj od 0 do 1.000. Ocena se izvede v opravilu v ozadju brskalnika. Prenesete lahko poročilo JSON in razčlenitev CSV.
Model stroškov
Vsako izbrano polje ima strošek objekta ali skalarja za svoj vrnjeni tip, pomnožen z velikostmi seznamov nad njim. Skupni strošek je vsota razširjenih izbir polj; ponovljene izbire ga zato lahko precenijo glede na združeno izvajanje strežnika. __typename je brezplačen. Ta model načrtovanja ne izvaja strežnika, pogojnih direktiv ali vsebine ugnezdenih seznamov in ni omejitev, ki jo uveljavlja strežnik.
Velikosti seznamov
Velikost seznama v polju je določena z največjim argumentom za izrez, na primer first, last ali limit. Če vrednost manjka, se uporabijo privzete vrednosti spremenljivk operacije in argumentov sheme. Če vrednosti za izrez ni, se uporabi @listSize(assumedSize:), kadar je omogočen, nato pa privzeta velikost seznama v modelu. @cost(weight:) nadomesti strošek polja. Vse izpeljane velikosti morajo biti cela števila od 1 do 10.000, uteži pa od 0 do 1.000. Neveljavne operacije, spremenljivke, meje in krožni fragmenti ustavijo oceno z napako določene vrste.
Branje poročila
Poročilo navaja predpostavke, deset najdražjih poddreves in celotno drevo z globino, množiteljem, velikostjo seznama, lastnim stroškom ter stroškom poddrevesa. CSV vsebuje eno vrstico za vsako pot polja. Razširitve fragmentov se vključijo tam, kjer so uporabljene; krožni fragment je napaka preverjanja poizvedbe, ne predpostavka o končnih stroških.