Optimalizace dotazů v GraphQL, kde se ztrácí výkon

Aus Rettungsdienst-Wiki
Zur Navigation springen Zur Suche springen

Ne každý land unese běžnou sedačku. Zkontrolujte nosnost podlahy a hlavně to, jestli má vozidlo dostatečnou světlou výšku pod rámem. U starších přestaveb se často stává, že sedačka po montáži sedí výš, než byla původní lavice, a lidé pak narážejí hlavou do stropu nebo nemají kam složit nohy. Změřte si proto vzdálenost od podlahy k horní hraně sedáku vsedě — měla by odpovídat tomu, na co jste zvyklí z domova, tedy zhruba 42 až 45 centimetrů. Pokud vám vychází víc, raději zvolte nižší profil konstrukce, i za cenu menšího úložného prostoru.

Persistentní dotazy a automatické omezení komplexity patří do produkce, ne do experimentů. Klient pošle hash schváleného dotazu a server odmítne cokoli, co v seznamu není. Tím zmizí jak neplánované drahé dotazy, tak riziko, že se schéma rozroste do podoby, kterou už nikdo neudrží. Zároveň si udělejte pravidelnou kontrolu schématu: pole, která nikdo nepoužívá, jen zvyšují povrch pro chyby a matou nástroje pro analýzu.

Typická past je nakupování úložných systémů dřív, než skutečně vytřídíte. Krabice, košíky a organizéry jen zastaví nepořádek, ale nevyřeší jeho příčinu. Stejně tak nefunguje pravidlo „něco málo si nechám, kdyby to bylo potřeba". Kdyby se něco opravdu hodilo, půjčíte si to nebo koupíte znovu – a za tu dobu už dávno zjistíte, že to nepotřebujete. Držte se čísla: u věcí, které používáte zřídka, stačí jedna záložní, ne tři.

Prvním krokem je určit nosnost. Laťkové rošty se prodávají s deklarovanou nosností na jednu osobu, obvykle v rozmezí od 80 do 140 kg. Pokud vážíte 95 kg a na roštu spí ještě partner, nesčítá se to automaticky — záleží, zda jde o dvě samostatné části, nebo o jeden společný rám. U dvoulůžka se dvěma nezávislými rošty se nosnost posuzuje pro každou stranu zvlášť. U jednodílného roštu musí být nosnost vyšší než součet obou spáčů. Podcenění tohoto parametru je nejčastější důvod, proč laťky praskají nebo se prohýbají.

Dvakrát ročně kůži dopřejte hlubší ošetření. Nejprve ji zbavte prachu a nečistot suchou cestou. Potom použijte pěnu nebo krém určený přímo pro kožené čalounění. Naneste malé množství na bílý hadřík a krouživými pohyby vmasírujte do povrchu. Nepřetírejte velkou vrstvou, kůže by se ucítila a zbytek by zůstal v záhybech. Po vsáknutí přebytek setřete suchým hadrem. Následně kůži nakrmte kondicionérem, který obnoví pružnost a ochrání ji před vysycháním.

Druhá strana téhož problému je opakované načítání stejných dat v rámci jednoho požadavku. Pokud tři pole potřebují stejný záznam, nemá smysl ho načítat třikrát. Zaveďte request-scoped cache, která drží výsledky po dobu jednoho dotazu. Pozor na to, že tato cache nesmí přežít mezi požadavky, jinak si podržíte zastaralá data a začnete řešit nekonzistenci. Většina frameworků to řeší kontextem, který se vytváří pro každý požadavek zvlášť.

Barvy řešte až nakonec. Když sedačka i postel ladí ve výšce a materiálu, stačí dvě barvy: jedna neutrální na velké plochy a jedna doplňková na polštáře nebo přehoz. Vyhněte se vzorům na obou kusech současně. Vzorovaná sedačka i vzorovaná postel vedle sebe vytvoří chaos, který žádné úložiště nezachrání. Pokud má úložný prostor viditelné hrany, potáhněte je stejnou látkou, jakou má sedačka. Tím se oba kusy spojí, aniž byste měnili nábytek.

Většina týmů řeší pomalé GraphQL dotazy až ve chvíli, kdy aplikace začne padat pod zátěží. Přitom stačí sledovat dvě čísla: počet resolverů na jeden požadavek a hloubku vnoření. Pokud na jeden dotaz běží stovky resolverů, žádný caching na úrovni HTTP nepomůže. Začněte tím, že si zapnete trasování jednotlivých resolverů a změříte, který z nich spotřebovává nejvíc času. V praxi to bývá jediný resolver, který tahá data ze vzdálené služby bez batchingu, ne celý dotaz.

Běžné chyby, které se opakují: koupě roštu bez znalosti nosnosti matrace, vsazení pružinové matrace na pevnou desku, ponechání starého roštu k nové matraci a ignorování rozměrů. Rošt musí přesně odpovídat rozměru matrace — o pár centimetrů menší rám způsobí, že matrace visí přes okraj a láme se. Před nákupem si změřte vnitřní rozměr postele, ne jen matraci. A pamatujte, že rošt se opotřebovává: pryžová lůžka tvrdnou, laťky ztrácejí pružnost. Po pěti až sedmi letech používání je výměna roštu levnější než výměna zničené matrace.

Jak sladit rošt s typem matrace Pružinová matrace potřebuje rošt, který se s ní dokáže pohybovat. Vhodné jsou laťky s pružným uložením v pryžových lůžkách, které se při zatížení mírně prohnou a vrátí. Naopak paměťová pěna nebo latex potřebují pevnou, rovnoměrnou podporu — příliš pružný rošt způsobí, že se pěna vytlačí do stran a vzniknou tvrdá místa. U studené pěny se vyhněte roštům s velkými rozestupy latí (nad 6 cm), protože se matrace protlačí a deformuje. Pokud máte matraci s tvrzením zónovým, hledejte rošt se zónovým uspořádáním latí, kde je uprostřed hustší mřížka pro bederní oblast.