Odebírat podcast.

8 tipů, jak zrychlit webovou aplikaci a nepřicházet o uživatele!

Uživatelé často přestávají používat aplikace proto, že jsou moc pomalé nebo se pomalu načítají. Objevte 8 způsobů, jak je zrychlit, méně zatěžovat servery, a tím i ušetřit. Poslechněte si nebo přečtěte náš 9. podcast.

Buďte vždy o krok před konkurencí, získejte přístup k celé sérii podcastů. Přihlaste se k odběru našeho newsletteru.

Nové technologické okénko je zde

Tentokrát si v našem technologickém okénku povídal CEO Pixape Radek Semančík a programátoři Vojtěch Seidler a Josef Štěpánek o způsobu, jak zrychlit fungování vašich webových a mobilních aplikací.

Uživatelé přestávají používat aplikace kvůli jejich pomalosti

Dle výsledků našeho nedávného průzkumu je jeden z nejčastějších důvodů, proč uživatelé přestávají používat nějakou aplikaci, její pomalost. Jak načítání aplikací zrychlit?

1. tip – používejte cache paměť

S rychlejším zobrazením stránek vám pomůže cache paměť. Do této si uložíte data, které potřebujete zobrazit např. na hlavní stránce, a jakmile tam přijde uživatel, data se okamžitě zobrazí. Nebude tedy třeba, aby aplikace při příchodu každého uživatele volala dotaz na databázi. 

Http cache – Po nastavení může prohlížeč uložit do cache obrázky nebo další prvky dané stránky a nemusí k jejich zobrazení vždy znovu posílat dotaz do API.

Server cache – V tomto případě se ukládání týká konkrétních uživatelských dat, na které se vždy znovu nemusíte dotazovat. K tomu slouží například aplikace Redis nebo Memcached.

2. tip – buďte kreativní při využití cache paměti

Při využívání cache paměti můžete být i více kreativní. Webovou aplikaci zrychlíte také tím, že si uložíte každý večer do cache paměti celé úvodní html. Díky tomu se uživateli stránka zobrazí ihned bez zatížení serveru. Server bude aplikaci zatěžovat až tehdy, kdy uživatel přejde na nějakou podstránku. Tam je ale vždy menší provoz.

Stejně tak můžete do cache paměti načíst jen to, co uživatel uvidí ihned při příchodu do aplikace. Následně se načítá až obsah, který se uživatel sám rozhodne spatřit. Až uživatelův pohyb na stránce tedy zatěžuje server.

Další způsob zrychlení můžete využít tehdy, pokud chcete všem uživatelům zobrazit stejnou informaci. V takovém případě ji jednoduše uložíte do cache paměti, když si ji zobrazí první uživatel. Ostatním uživatelům se pak už bude vykreslovat stejný výsledek bez zatížení serveru.

3. tip – využijte cache paměť pro dynamická data nebo tehdy, kdy každý vidí něco jiného

V případě, že jsou data dynamická a průběžně se mění, můžete například nastavit, aby se každou hodinu uložila do cache paměti aktuální data. Také tento způsob je méně náročný na server. Nezpracováváte totiž neustále nějakou složitou databázovou operaci. Navíc se pak uživateli vykresluje pokaždé něco jiného.

Druhá varianta je ta, že necháte dynamicky se načítající bloky načíst až tehdy, když na ně uživatel na stránce sjede.

4. tip – používejte ke zrychlení načítání stránek React

Také React vám pomůže zrychlit načítání stránek. U Reactu je totiž to, co se zobrazuje, jen statický html text. Není za ním žádná logika, která by jeho načtení brzdila. Proto se vykreslí okamžitě. Spolu s tím ale aplikace začne volat další dotazy a začnou se načítat i další data v různých částech stránky, které uživatel zatím nevidí.

React tedy zajišťuje, že se ihned viditelná část zobrazí okamžitě, a to další se začne načítat vzápětí. Díky tomu je běh aplikace naprosto plynulý a uživatel nemusí na nic čekat.

Toto samozřejmě umí i další kvalitní javascriptové framevorky, my však z již dříve zveřejněných důvodů používáme právě React.

5. tip –zrychlete zobrazování výsledků při vyhledávání

Zrychlit zobrazování výsledků můžete tím, že si uložíte do cache paměti výsledky pro určitý filtr. Pokud například nějaký uživatel vyhledá výsledky s filtrem „Praha“, můžete si tyto výsledky uložit do cache. Jakmile pak bude to samé hledat jiný uživatel, ihned a bez zátěže serveru mu výsledky vyskočí.

Problém u tohoto řešení je však příliš obecně nastavené vyhledávání. Tehdy je velmi pravděpodobné, že uživatelé budou hledat často něco, co není v paměti. Data tedy budou načítána z databáze a vyhledávání bude pomalé.

6. tip – používejte technologie pro zrychlení vyhledávání s milióny záznamů

K tomu můžete například použít technologi Elastic Search. Ten si zpracuje zdrojová data a umožní mnohonásobně rychlejší textové vyhledávání. Tato technologie se často používá k vyhledávání produktů v e-shopech, kdy si je zaindexujete a následně mezi nimi dokáže velmi rychle vyhledávat.

7. tip – zrychlení přináší i dobře navržená databáze

Vykreslování stránky samozřejmě zrychluje také dobře navržená databáze bez chyb a problémů, jak jsme se již zmiňovali ve článku o vhodném výběru databáze a chybách v jejím navrhování. Když totiž již samotné vyhledáváni trvá deset vteřin, je jasné, že je problém v databázi. V takových případech je rozhodně chyba řešit pomalost cache pamětí – řešení je zde optimalizace vyhledávání.

8. tip – nastavte správně cloud a používejte API

Další ze způsobů, jak zrychlit fungování aplikace, je správné nastavení serveru a škálování v cloudu, kde aplikace běží. Zde je vše třeba nastavit tak, aby se v případě vytíženého serveru v cloudu ihned vytvořil další server, který začne odbavovat čekající klienty. Aplikace díky tomu poběží stále plynule, její provoz ale bude dražší. Proto rozhodně nezapomínejte ani na předchozí tipy.

Zrychlení v tom nejobecnějším slova smyslu umožňuje i API, o kterém jsme již psali ve článku Proč se použití API rozhodně vyplatí. Dokáže totiž ihned propojit nejrůznější služby. Když chcete například umožnit uživateli, aby okamžitě po zaplacení získal přístup nebo si mohl něco stáhnout, s pomocí API ihned kontaktujte banku, ověříte platbu a vše uživateli okamžitě zpřístupníte. Žádné zbytečné čekání.

Jaké jsou úskalí použití cache paměti?

Jak už bylo řečeno, rozhodně byste s cache pamětí neměli zrychlovat špatně navrženou databázi. V tomto případě vám to dříve či později beztak spadne na hlavu.

Dále pak hrozí, že kvůli cache paměti mohou uživatelé vidět již stará a neplatná data. To se může stát třeba při přenastavování oprávnění. Když má totiž nějaký uživatel oprávnění něco vidět, ale to oprávnění mu změníte, mohou se mu kvůli cache stále zobrazovat stará data. Řešení je, že starou cache paměť ihned zneplatníte a načtete znovu.

Ač se tedy cache paměť ukazuje jako výborný způsob, jak zrychlit aplikaci, zmírnit zatížení serveru, a tím snížit náklady na provoz aplikace, má i svá úskalí. Proto je důležité s ní zacházet velmi opatrně.

Chcete vědět více o tom, jak zrychlit vaši aplikaci nebo potřebujete rovnou vývojářský tým? Ozvěte se nám.

Buďte vždy o krok před konkurencí

Odebírejte naše podcasty a objevte, proč nejčastěji aplikace neuspějí a jak tomu zabránit. Naservírujeme vám nejnovější přístupy i technologie, díky kterým budou vaše aplikace oblíbenější, ziskovější a budete s nimi mít méně starostí. Sledujte nás a uspějte na poli aplikací.


Buďte vždy o krok před konkurencí

Odebírejte naše podcasty a objevte, proč nejčastěji aplikace neuspějí a jak tomu zabránit. Naservírujeme vám nejnovější přístupy i technologie, díky kterým budou vaše aplikace oblíbenější, ziskovější a budete s nimi mít méně starostí. Sledujte nás a uspějte na poli aplikací.


Mohlo by se Vám líbit.

11 důvodů, proč si zamilujete Docker

Docker zrychluje přípravu, údržbu i aktualizaci serveru potřebného pro běh aplikace a pomáhá s jejím testováním a vývojem. Objevte více v novém podcastu.

Chci vědět víc

Víte, kdy použít pro běh aplikace hosting, virtuální server a kdy cloud?

Víte, kdy je nejvýhodnější použít na provoz aplikace hosting, kdy virtuální server a kdy cloud? V našem dalším podcastu se to dozvíte.

Chci vědět víc

7 výhod, proč při vývoji aplikace využít microservices!

S pomocí microservices zjednodušíte vývoj i správu aplikací a vytvoříte bezpečnější, stabilnější a na provoz levnější aplikace. Objevte jejich 7 výhod.

Chci vědět víc

Víte, jak vybrat vhodnou databázi a vyhnout se nejčastějším chybám?

Zjistěte, jaké jsou nejčastější chyby při výběru a tvorbě databáze a jak tyto chyby mohou ovlivnit rychlost a bezpečnost celé aplikace.

Chci vědět víc

Automatické testování: jaké má výhody a použití

Automatické testování webových nebo mobilních aplikací vám může ušetřit čas i peníze při vývoji a kontrole aplikací. Zjistěte jeho druhy i ideální využití.

Chci vědět víc