nginx: nový webový server

nginx: nový webový server

Optimalizačná technológia na zlepšenie výkonu vašich webových stránok

Tradične, keď hovoríme o webových serveroch, okamžite nám napadne Apache. Apache je vyspelý webový server s dlhou históriou. V posledných rokoch sa však na trhu objavil nový webový server, ktorý vyzval dekana Apache na vedenie. Hlavným problémom Apache je, že jeho základný dizajn sa zrodil v čase, keď návštevnosť webu ešte nebola problémom.

Dynamických stránok bolo málo a väčšinou sa spravovali statické HTML stránky. Dostupná šírka pásma bola nízka a používatelia ironicky preložili skratku WWW ako World-Wide Wait. Ale veci sa museli rýchlo zmeniť. Len za pár rokov urobila webová infraštruktúra obrovské kroky vpred, dostupná šírka pásma sa zväčšila stonásobne s rozširovaním optických vlákien, explodovali dynamické stránky a s nimi aj závratný nárast sieťovej prevádzky.

Apache sa medzitým vyvinul, ale zistilo sa, že jeho ovládanie najpopulárnejšieho serverového jazyka na webe, PHP, sa v priebehu rokov príliš nezmenilo. Hoci PHP, teraz vo verzii 7, je oveľa výkonnejšie ako predchádzajúce verzie, problémy s výkonom však zostávajú vážne a ovplyvňujú Apache.

Web: áno, ale koľko to stojí?

Najväčšou prekážkou je práca PHP s MySQL

Apache je nútený intenzívne využívať pamäť servera, keď existuje príliš veľa súbežných dopytov.

V skutočnosti musí PHP čakať zakaždým, keď databáza vráti výsledky dotazu, čím zablokuje spustenie zvyšku kódu. Výsledkom je, že Apache je nútený spustiť viac vlákien na zvládnutie situácie, pričom spotrebuje veľké množstvo pamäte. nginx má na druhej strane oveľa efektívnejšiu správu pamäte a nedosahuje tieto vrcholy spotreby. nginx nespracúva PHP prostredníctvom modulu: jednoducho presmeruje jeho obsluhu, keď narazí na súbor PHP, na vybraný interpret PHP, ako napríklad PHP-FPM, ktorý funguje ako proxy. Výsledkom je, že nginx je oveľa efektívnejší a výkonnejší ako Apache, pokiaľ ide o spracovanie stránok s vysokou návštevnosťou.

Dizajn nginx je založený na udalostiach a táto vlastnosť z neho urobila ideálneho partnera na správu aplikácií vyvinutých v Node.jsV tomto prípade sa nginx používa ako proxy, t. j. na prepísanie adresy URL, ako je https://192.168.1.100:3000 v https://myapp.com, a ako správca statických zdrojov aplikácie. Týmto spôsobom budú aplikácie Node.js mimoriadne výkonné, pretože Node bude spravovať aplikačnú logiku, zatiaľ čo nginx bude obsluhovať obrázky, súbory CSS a JavaScript a všeobecnejšie všetky statické zdroje.

Prečo povoliť kompresiu a ukladanie do vyrovnávacej pamäte

A v tomto zmysle, povolením kompresie a ukladania do vyrovnávacej pamäte na nginx pre tento typ zdroja sa pri vykonávaní benchmarkových testov, ako je napríklad slávny Google Pagespeed, dosiahne špičkový výkon.

Podpora pre nginx zo strany poskytovateľov sa za posledných pár rokov značne rozrástla a už veľa ovládacích panelov, ako napríklad Plesk, vám umožňuje spravovať nginx cez grafické rozhranie. nginx je stále relatívne mladý a má pred sebou dlhú a sľubnú cestu.

V SUPSI je štvrťstoročie rešpektu k životnému prostrediu