Google App Engine – prodlevy u aplikací s nízkou návštěvností

Měl jsem takový nápad na jednu velmi jednoduchou aplikaci pro Google App Engine. Nebudu vysvětlovat, o co přesně šlo, stačí když řeknu, že šlo o aplikaci, u které se neočekává žádná velká návštěvnost.

Na desktopu mi první prototyp chodil dobře. I po tom, co jsem udělal deploy na App Engine, se zdálo být vše v pořádku. Po nějakém čase jsem ale zpozoroval, že ostrá verze má velkou prodlevu v načítání. Třeba 2-3 vteřiny. Po načtení stránky se to vždy jako by „prošťouchlo“ a aplikace chvíli chodila svižně. Ale za chvíli měla zase tu prodlevu.

Jak jsem zjistil, není to, bohužel, chyba, ale vlastnost. Google App Engine po nějaké době nečinnosti prostě aplikaci vypne a znovu ji zapne až s dalším přicházejícím požadavkem. Pokud máte aplikaci s návštěvností řekněme do 100 návštěv/den, tak v podstatě každý takový návštěvník, bude čekat.

Co s tím?

Pokud chcete vše zadarmo, tak, pro aplikace s nízkou návštěvností, Google App Engine nedoporučuji. Je tu ještě jedna možnost, která je dost přitažená za vlasy, ale přesto jí zmíním: V určitých intervalech, třeba cronem, posílat z jiného serveru požadavek na daný web a udržovat ho tak v bdělosti.

Nebo můžete použít Testomato, které vám v určitých intervalech každým testem aplikaci probudí, pokud by hybernovala.

U placené verze Google App Engine máte systémové řešení. Můžete jí nastavit Min Idle Instances (1..100), čímž říkáte, kolik nečinných instancí aplikace minimálně poběží. To nahrazuje dříve používanou funkci Always On, která zase zajišťovala, že vaše aplikace nikdy neusne.

Líbil se vám článek?

Napsat komentář

Highslide for Wordpress Plugin