nginx: egy új webszerver

nginx: egy új webszerver

Una tecnologia di ottimizzazione per migliorare le performance del proprio sito internet

Hagyományosan, amikor webszerverekről beszélünk, azonnal az Apache jut eszünkbe. Az Apache egy kiforrott webszerver, amely hosszú múltra tekint vissza. Az elmúlt években azonban egy új webszerver jelent meg a piacon, hogy kihívja az Apache dékánját a vezetésért. Az Apache legnagyobb problémája, hogy az alapvető kialakítása akkor született, amikor a webforgalom még nem jelentett problémát.

Kevés volt a dinamikus webhely, és többnyire statikus HTML-oldalakat kezeltek. A rendelkezésre álló sávszélesség alacsony volt, és a felhasználók ironikus módon a WWW betűszót World-Wide Wait-nek fordították. De a dolgoknak gyorsan változniuk kellett. A webes infrastruktúra alig néhány év alatt óriási lépéseket tett előre, az optikai szálak terjedésével százszorosára nőtt a rendelkezésre álló sávszélesség, robbanásszerűen megnőttek a dinamikus oldalak, és ezzel együtt szédítően megnőtt a hálózati forgalom.

Az Apache időközben fejlődött, de rájöttek, hogy a web legnépszerűbb szerveroldali nyelvének, a PHP-nek a kezelése nem sokat változott az évek során. Bár a most 7-es verziójú PHP sokkal jobban teljesít, mint a korábbi verziók, a teljesítményproblémák továbbra is súlyosak, és az Apache-t is érintik.

Weboldal: igen, de mennyibe kerül?

A legnagyobb szűk keresztmetszet a PHP MySQL-kezelése

Az Apache kénytelen nagymértékben kihasználni a szerver memóriáját, ha túl sok egyidejű lekérdezés van.

Valójában a PHP-nek minden alkalommal várnia kell, amikor az adatbázis visszaadja a lekérdezés eredményét, blokkolva a kód többi részének végrehajtását. Ennek eredményeként az Apache kénytelen több szálat indítani a helyzet kezelésére, ami nagy mennyiségű memóriát emészt fel. Az nginx viszont sokkal hatékonyabb memóriakezeléssel rendelkezik, és nem éri el ezeket a fogyasztási csúcsokat. Az nginx nem modulon keresztül kezeli a PHP-t: egyszerűen átirányítja a kezelését, amikor egy PHP-fájlt talál, a kiválasztott PHP-értelmezésre, például a PHP-FPM-re, amely proxyként működik. Ennek eredményeként az nginx sokkal hatékonyabb és teljesítményesebb, mint az Apache a nagy forgalmú webhelyek kezelésében.

Az nginx by design eseményeken alapul, és ez a tulajdonság ideális partnerré tette a ben fejlesztett alkalmazások kezeléséhez node.jsEbben az esetben az nginxet proxyként is használják, azaz egy URL átírására, például https://192.168.1.100:3000 a https://myapp.com webhelyen, és egy alkalmazás statikus erőforrásainak kezelőjeként. Ily módon a Node.js alkalmazások rendkívül teljesítőképesekké válnak, mivel a Node kezeli az alkalmazás logikáját, míg az nginx a képeket, a CSS- és JavaScript-fájlokat, valamint általában az összes statikus erőforrást szolgálja ki.

Miért engedélyezi a tömörítést és a gyorsítótárazást?

Ebben az értelemben azáltal, hogy engedélyezi a tömörítést és a gyorsítótárazást az nginx-en az ilyen típusú erőforrások számára, csúcsszintű teljesítmény érhető el a benchmark tesztek, például a híres Google Pagespeed végrehajtása során.

Az nginx szolgáltatók általi támogatottsága jelentősen megnőtt az elmúlt néhány évben, és már sok vezérlőpult, például a Plesk, lehetővé teszi az nginx grafikus felületen keresztüli kezelését. Az nginx még viszonylag fiatal, és hosszú és ígéretes út áll előtte.

A SUPSI-ban negyed évszázados a környezet tisztelete