Jak zvýšit výkon www aplikací

Ono se jedná o pár obecně použitelných rad jak zvýšit výkon obecně jakékoliv www aplikace, napsané třeba v Pythonu, ale i NodeJS a dokonce i v PHP, díky Nginxu. Ve finále můžete tohoto využít i pro vaše stávající zahlcené Apache servery a postavit před ně Nginx s tím, že se postará o distibuci zátěže a tak jim uleví.

Implementujte reverzní proxy server

Na serveru, nebo i více serverech spusťte více instancí dané aplikace na různých portech a pak ne ně směrujte z Nginxu provoz. Můžete si vybrat jakým způsobem budete trafic rozdělovat.
nginx reverzni proxy

Kešujte statické soubory

No o všechen obsah se musí starat přímo vaše aplikace. Spousta statického obsahu se dá servírovat přímo z Nginxe. Tím, že aplikace nebude odbavovat requesty na static files může dělat něco jiného a tím pádem stihne odbavit více návštěvníků.

Implementujte load balancing

Nginx umí dle daných pravidel směrovat provoz na různé servery ve vašem cloudu a tak rozdělit zátěž na jednotlivé servery. jedním ze způsobů směrování provozu je IP Hash, který zajistí to, že klient komunikuje stále se strejným serverem. V ostatních případech se může stát, že každý jednotlivý request je odbavován jiným serverem.

Proxy web socket connection

HTTP protokol byl designován pro PULL komunikaci. To znamená, že klient si musel říct serveru o soubor a server mu ho poslal. WebSocket je technologie/nástroj, který umí PUSH a PULL komunikaci. Díky tomu může server poslat klientovy obsah o který si ještě neřekl.

Implementace HTTP2 a SSL/TLS

Implementací HTTP2 získáváte možnost paralelního vyřizování více požadavků v jednom requestu. SSL přináší větší bezpečnost www aplikací. A to bez jediného zásahu do NodeJS aplikace.

Zdroj