GraphQL užklausos sąnaudų skaičiuoklė
Įvertinkite GraphQL operacijos sąnaudas prieš jai pasiekiant serverį. Raskite giliai įdėtus ir sąrašų dydžiais dauginamus pasirinkimus; kiekviena prielaida apie sąrašo dydį pateikiama aiškiai.
Priima operaciją iki 200 000 ženklų, schemą iki 1 000 000 ženklų ir kintamuosius iki 200 000 ženklų. Skaičiuojama ne daugiau kaip 10 000 laukų ir 64 įdėjimo lygiai; sąrašų dydžiai nuo 1 iki 10 000, laukų sąnaudos nuo 0 iki 1 000. Įvertis apskaičiuojamas naršyklėje, foninėje užduotyje. Galima atsisiųsti JSON ataskaitą ir CSV išklotinę. Viena operacija arba kelios, nurodžius operacijos pavadinimą. Fragmentai išplečiami. Iki 200 000 simbolių. Prieš vykdydami peržiūrėkite nustatymus.
Jūsų rezultatas
GraphQL užklausos sąnaudų skaičiuoklė
- Įklijuokite GraphQL operaciją pagrindiniame lauke.
- Įklijuokite schemą SDL arba introspekcijos JSON formatu.
- Pakeiskite numatytąjį sąrašo dydį, ribojimo argumentus ir laukų sąnaudas, jei jūsų serveris naudoja kitas reikšmes.
- Apskaičiuokite įvertį, peržiūrėkite daugiausia sąnaudų reikalaujančias vietas ir atsisiųskite JSON arba CSV išklotinę.
Ką verta žinoti
Priima operaciją iki 200 000 ženklų, schemą iki 1 000 000 ženklų ir kintamuosius iki 200 000 ženklų. Skaičiuojama ne daugiau kaip 10 000 laukų ir 64 įdėjimo lygiai; sąrašų dydžiai nuo 1 iki 10 000, laukų sąnaudos nuo 0 iki 1 000. Įvertis apskaičiuojamas naršyklėje, foninėje užduotyje. Galima atsisiųsti JSON ataskaitą ir CSV išklotinę.
Sąnaudų modelis
Kiekvienam pasirinktam laukui priskiriamos objektinės arba skaliarinės sąnaudos pagal jo grąžinamą tipą, padaugintos iš virš jo esančių sąrašų dydžių. Bendra suma skaičiuojama pagal išplėstus laukų pasirinkimus, todėl pasikartojantys pasirinkimai gali pervertinti serverio sujungtą vykdymą. __typename nekainuoja. Šis planavimo modelis nevykdo serverio, sąlyginių direktyvų ar įdėtų sąrašų turinio ir nėra serverio taikoma riba.
Sąrašų dydžiai
Sąrašo lauko dydis nustatomas pagal didžiausią ribojimo argumento, pavyzdžiui, first, last ar limit, reikšmę. Jei reikšmė praleista, naudojamos numatytosios operacijos kintamųjų ir schemos argumentų reikšmės. Jei ribojimo reikšmės nėra, naudojamas @listSize(assumedSize:), kai jis įjungtas, o tada numatytasis modelio sąrašo dydis. @cost(weight:) pakeičia lauko sąnaudas. Visi išvesti dydžiai turi būti sveikieji skaičiai nuo 1 iki 10 000, o svoriai nuo 0 iki 1 000. Netinkamos operacijos, kintamieji, ribos ir cikliniai fragmentai nutraukia skaičiavimą su nurodyto tipo klaida.
Kaip skaityti ataskaitą
Ataskaitoje pateikiamos prielaidos, dešimt didžiausių sąnaudų pomedžių ir visas medis su gyliu, daugikliu, sąrašo dydžiu, paties lauko bei pomedžio sąnaudomis. CSV pateikia po vieną eilutę kiekvienam lauko keliui. Fragmentų įtraukimai išplečiami jų naudojimo vietose; ciklinis fragmentas yra užklausos tikrinimo klaida, o ne baigtinių sąnaudų prielaida.