Przejdź do zawartości
Menu główne
Menu główne
przypnij
ukryj
Nawigacja
Strona główna
Ostatnie zmiany
Losowa strona
Pomoc z MediaWiki
Mazovia
Szukaj
Szukaj
Utwórz konto
Zaloguj się
Narzędzia osobiste
Utwórz konto
Zaloguj się
Strony dla anonimowych edytorów
dowiedz się więcej
Edycje
Dyskusja
Edytujesz
Zbyt głębokie zapytania GraphQL, které zničí výkon
Strona
Dyskusja
polski
Czytaj
Edytuj
Wyświetl historię
Narzędzia
Narzędzia
przypnij
ukryj
Działania
Czytaj
Edytuj
Wyświetl historię
Ogólne
Linkujące
Zmiany w linkowanych
Strony specjalne
Informacje o tej stronie
Uwaga:
Nie jesteś zalogowany. Jeśli wykonasz jakąkolwiek zmianę, Twój adres IP będzie widoczny publicznie. Jeśli
zalogujesz się
lub
utworzysz konto
, Twoje zmiany zostaną przypisane do konta, wraz z innymi korzyściami.
Filtr antyspamowy.
Nie
wpisuj tu nic!
První let s batoletem se láme na tom, kolik toho vezmete a jak naplánujete cestu na letiště. Většina rodičů podlehne panice a sbalí půl domácnosti. Batole přitom nepotřebuje tři náhradní kombinézy ani zásobu hraček na týden. Potřebuje vyspané rodiče, jídlo po ruce a jasný rytmus dne. Začněte tím, že si před odletem sepíšete, co dítě reálně použije během cesty. Všechno ostatní patří do odbaveného zavazadla.<br><br>Největší chyba: spoléhat na to, že dítě bude sedět Typická chyba je představa, že batole vydrží celý let na klíně nebo v sedačce bez pohybu. Nevyjde to. Připravte se na to, že budete vstávat, chodit po uličce a znovu usedat. Vezměte si oblečení, které se snadno sundá a vypere, a pro dítě vrstvy, ne tlustý svetr. Teplota v kabině kolísá. Na vzlet a přistání dejte dítěti pít nebo kousat něco měkkého, aby si uvolnilo uši. Pokud je nemocné nebo má ucpaný nos, zvažte odklad. Bolest uší umí udělat z klidného letu peklo.<br><br>Poslední věc je rutina před spaním. Dítě, které se před usnutím převaluje a hraje si, padá častěji než to, které má klidný režim. Zařaďte krátké čtení nebo tiché povídání vsedě na posteli, ne divokou honičku. Pokud dítě padá i po těchto úpravách opakovaně, nebo dokonce spadne bez probuzení, řešte to s dětským lékařem — může jít o poruchu spánku nebo o noční záchvat, který vypadá jako obyčejné skutálení.<br><br>Hloubka dotazu je první věc, kterou je potřeba ohlídat. GraphQL dovolí klientovi sáhnout libovolně hluboko do grafu, a pokud to neomezíte, jediný dotaz může stáhnout celou databázi do paměti. V produkci nastavte limit hloubky podle skutečných potřeb aplikace – obvykle stačí šest až osm úrovní. Limit ale nestačí sám o sobě: musí být vynucený na serveru ještě před spuštěním resolverů, ne až po načtení dat. Stejně důležité je omezit počet položek v seznamech, jinak se hloubkové omezení snadno obejde přes pole s polem.<br><br>Prvním krokem je zapnout trasování na úrovni polí. Potřebujete vidět, kolik volání databáze vzniklo z jednoho dotazu a jak dlouho každé trvalo. Často se ukáže, že jeden dotaz spustí stovky samostatných selectů, protože resolver načítá data pro každou položku seznamu zvlášť. To je klasické N+1 a v GraphQL je pravidlem, ne výjimkou. Řešením není omezit dotaz, ale sloučit načítání do dávek podle klíčů, které se v seznamu opakují.<br><br>Perzistentní dotazy a analýza provozu místo hádání Perzistentní dotazy (persisted queries) výrazně snižují režii. Klient místo celého dokumentu pošle krátký hash a server ho namapuje na uložený dotaz. Tím se zmenší provoz, ale hlavně zmizí možnost poslat libovolný dotaz zvenčí – povolené jsou jen ty, které jste předem zaregistrovali. Pozor na to, že hash musí odpovídat přesně; po jakékoli změně dokumentu je nutné registraci aktualizovat, jinak začnou selhávat požadavky, které dřív fungovaly.<br><br>S sebou mějte jen to, co zvládnete unést jednou rukou a co se vejde pod sedadlo. Praktické jsou přesnídávky v uzavíratelných obalech, vlhčené ubrousky, jedna oblíbená hračka a jedna nová, kterou vytáhnete až ve chvíli nudy. tablety a telefony nechte jako poslední záchranu, ne jako první volbu. Rodiče často chybují v tom, že dítěti pustí obrazovku hned po startu. Za hodinu je baterka v tahu a dítě znuzené. Střídejte aktivity po krátkých úsecích.<br><br>Po přistání nechte ostatní cestující odejít a vystupte mezi posledními. Ušetříte si tlačenici a dítěti dopřejete čas se probrat. První let s batoletem není o dokonalém výkonu. Je o tom, že přežijete oba a příště budete vědět, co vynechat. Nejčastější chybou totiž není málo věcí v tašce, ale příliš mnoho očekávání, že vše půjde hladce.<br><br>Většina týmů začne GraphQL dotazy řešit ve chvíli, kdy aplikace začne zamrzat nebo faktura za výpočetní výkon naroste. Do té doby se dotazy píší intuitivně: co potřebuji, to si vyžádám. Problém je, že GraphQL neposílá jeden požadavek, ale často desítky resolverů, které se navzájem volají. Než začnete cokoli optimalizovat, změřte reálné chování. Bez dat o tom, který resolver tráví časem a kolikrát se volá, skončíte u přepisování dotazů, které nebyly problémem.<br><br>Na závěr dvě pravidla, která se vyplácí dodržet. Zaprvé, komplexita dotazu se má počítat váženě – seznam s tisíci položkami není totéž jako skalární pole – a překročení limitu má vrátit chybu, ne tiše oříznout výsledek. Zadruhé, caching na úrovni polí zavádějte až po změření; předčasné cachování maskuje pomalé resolvery a při změně dat způsobuje nekonzistence. Omezení hloubky, dávkování, perzistentní dotazy a měření v provozu dohromady pokryjí většinu problémů, které výkon GraphQL API v praxi srážejí.
Opis zmian:
Wszelki wkład na Mazovia może być edytowany, zmieniany lub usunięty przez innych użytkowników. Jeśli nie chcesz, żeby Twój tekst był dowolnie zmieniany przez każdego i rozpowszechniany bez ograniczeń, nie umieszczaj go tutaj.
Zapisując swoją edycję, oświadczasz, że ten tekst jest Twoim dziełem lub pochodzi z materiałów dostępnych na warunkach
domeny publicznej
lub kompatybilnych (zobacz także
Mazovia:Prawa autorskie
).
PROSZĘ NIE WPROWADZAĆ MATERIAŁÓW CHRONIONYCH PRAWEM AUTORSKIM BEZ POZWOLENIA WŁAŚCICIELA!
Anuluj
Pomoc w edycji
(otwiera się w nowym oknie)
Przełącz ograniczenie szerokości strony