GraphQL.cz/Fórum/Proč se mi GraphQL dotazy na mobilu neprovádí rychle?

Proč se mi GraphQL dotazy na mobilu neprovádí rychle?

Mám takový problém, který mě v poslední době dost trápí. Používám GraphQL pro API ve své mobilní aplikaci a zdá se, že dotazy, které provádím, jsou na mobilu nějak pomalé. Zatímco na desktopu to všechno jede jako víno, na mobilu to občas trvá i několik sekund, než se mi zobrazí data. Zkoušel jsem optimalizovat dotazy a vše, co jsem našel na internetu, ale pořád to není ono. Mám pocit, že něco dělám špatně, ale nevím co. Může to být problém s připojením k internetu? Nebo je to spíš tím, jak mobilní zařízení zpracovávají data? Všiml jsem si, že když mám aplikaci otevřenou déle, tak je to lepší, ale hned po spuštění je to jako běh s brzdama. Dělám něco špatně ve svých GraphQL dotazech? Mám tam moc relací nebo složitých typů? Měl bych se podívat na caching nebo něco podobného? Opravdu nevím, jestli by měl být rozdíl mezi desktopem a mobilem v rychlosti dotazů. Jaké máte zkušenosti s tímto problémem? Mohli byste mi poradit, co zkontrolovat nebo jak optimalizovat rychlost dotazů právě pro mobilní platformy? Každý tip by mi pomohl. Děkuji!

181 slov
1.8 minut čtení
7. 5. 2024
Dana Kopalová
Dana Kopalová

Tak hele, já mám taky podobný problém. Na mobilu to občas fakt trvá, zatímco na desktopu je to všechno super rychlý. Může to být tím, že mobilní zařízení mají slabší hardware, takže zpracovávání těch dotazů není tak rychlý. Zkus se podívat na to, jak složitý máš ty dotazy – jestli tam nemáš zbytečně moc relací nebo velký data. Caching by ti určitě mohl pomoct, takže se na to koukni. Je dobrý mít nějakou strategii pro to, jak se vyhnout opakovaným dotazům. Taky záleží na připojení k internetu – když jsi na mobilu, signál může být slabší a tím pádem i latence vyšší. Zkus třeba optimalizovat payload, aby ti přišlo jen to nejdůležitější a ne všechno najednou. Když máš aplikaci otevřenou dýl, tak se může chytit cache a proto je to pak rychlejší. Doufám, že něco z toho pomůže.

138 slov
1.4 minut čtení
1. 4. 2023
Michal Šváb
Michal Šváb

Tohle je bohužel dost častý problém, co se mobilních aplikací týče. Může to být klidně kombinace různých faktorů. Připojení k internetu hraje velkou roli, zvlášť když jsi na mobilu a nejseš v dosahu Wi-Fi. Mobilní sítě můžou být často pomalejší než pevné připojení.

Pak taky záleží, jak máš napsaný ty GraphQL dotazy. Když máš moc relací a složitý typy, tak to může dělat zbytečně velký objem dat a zpracování na mobilu pak trvá dýl. Zkus se podívat na to, jestli bys nemohl dotazy rozdělit nebo omezit množství dat, co se vrací.

Caching je další věc, co může dost pomoct. Když dotazy provádíš víckrát, tak místo toho, aby se vždy stahovaly nový data z API, tak si je můžeš uložit a tím zrychlit načítání. Taky by bylo dobrý podívat se na optimalizaci samotného API - třeba jestli se dá něco urychlit na serverové straně.

No a jak říkáš, když máš aplikaci otevřenou dýl, tak se to zlepšuje - to může souviset s tím, že se něco cache-uje nebo že zařízení se víc "ohřeje" a líp zvládá procesy.

Zkrátka bych začal s jednoduchými dotazy a postupně přidával složitosti, abys viděl, co přesně ti zpomaluje tu aplikaci. Držím palce!

194 slov
1.9 minut čtení
2. 5. 2024
Tereza Khýrová
Tereza Khýrová

Můžeš mít pravdu, že to souvisí s připojením na internet. Mobilní sítě jsou občas pomalejší než Wi-Fi, zvlášť když máš slabý signál. Zkus se podívat na to, jestli ti dotazy nevrací víc dat, než potřebuješ. Možná máš ve svých dotazech moc relací nebo složitých typů, což může zpomalovat výkon. Taky je dobrý se zamyslet nad cachováním dat. Např. používat Apollo Client nebo něco podobného pro caching může hodně pomoct. Jak říkáš, když máš aplikaci otevřenou delší dobu, tak to je lepší, což může naznačovat, že se data nějak ukládají a znovu nepřetahují. Zkontroluj i to, jestli nemáš nastavené dotazy tak, že se provádějí víckrát, než by měly. Každopádně to chce zkoušet a experimentovat.

113 slov
1.1 minut čtení
22. 2. 2023
Karel Slavík
Karel Slavík
Podobné otázky