Mellékleteink: HUP | Gamekapocs
Keres

Megjelent a HTTP/2 a kereskedelmi Nginxben is

Gálffy Csaba, 2015. szeptember 17. 11:26
Ez a cikk több évvel ezelőtt születetett, ezért előfordulhat, hogy a tartalma már elavult.
Frissebb anyagokat találhatsz a keresőnk segítségével:

Kiadta az Nginx fizetős változatának új verzióját a fejlesztő cég. A Plus R7 legfontosabb újdonsága a HTTP/2 teljes támogatása, de a motorház alatt rengeteget fejlesztettek az oroszok.

Elkészült a kereskedelmi Nginx, a Plus következő verziója, az R7 - jelentette be az orosz illetőségű fejlesztőcsapat. Az R7-ben már teljes támogatást élvez az új generációs webes átviteli protokoll, a HTTP/2, a fejlesztés fókuszában emellett néhány, a teljesítményt növelő új fejlesztés volt.

Az Nginx használható általános HTTP/2 kapuként is, vagyis kifelé már úgy válthatnak a webes alkalmazások és weboldalak az új protokollra, hogy a belső hálózaton marad az eddig használt protokoll. Tehát a kliensek felé úgy kínálható a gyorsabb, megbízhatóbb, biztonságosabb HTTP/2, hogy az alkalmazás oldalán nincs szükség változásra.

A HTTP/2 gateway-ként üzembe állított doboz persze visszafelé kompatibilis a HTTP/1.x-et támogató kliensekkel is, ehhez a szoftver a TLS ALPN (Application Layer Protocol Negotiation) kiterjesztését implementálja. Ez lehetővé teszi, hogy a h2 fejlécet küldő kliensek felé HTTP/2-t, minden egyéb felé pedig HTTP/1.x-et kínáljon. Az új protokoll aktiválásához a listen direktívák közé kell felvenni a http2 paramétert, valamint telepíteni kell az nginx-plus-http2 csomagot.

Ugyan a protokoll hivatalosan támogatott, élesben azért az SPDY használatát javasolja az Nginx. Ennek prózai oka van, a böngészők ugyan már széles körben támogatják a HTTP/2-t, az implementáció még nem minden kliensben érte el az általános használhatoz szükséges minőségi színvonalat, vagyis a protokoll használata nem várt hibákat okozhat.

Fókuszban a teljesítmény

A HTTP/2 támogatás tehát izgalmas téma, a fentiek miatt sokkal fontosabb lesz a vásárlóknak a Plus R7 által ígért magasabb teljesítmény. Ezt két fontos fejlesztés hozza el, az I/O műveleteket a worker threadekről leválasztó thread pool, illetve a bejövő kapcsolatok kiosztását hatékonyabbá tévő socket sharding. Ezek az ingyenes Nginxben május illetve június óta elérhetőek, a fizetős kiadásba most kerülnek bele.

A rengeteg I/O műveletet igénylő feladatoknál (mint a gyorsítótárként használt Nginx-telepítés) drámaian belassulhat a kiszolgálás, ahogy a szoftver a háttértárra vár. A megoldás az R7-ben bemutatkozó thread pool, amely az I/O-műveleteket leválasztja a worker threadekről, így azok nem várnak a művelet befejezésére, hanem visszatérhetnek a hálózati forgalom feldolgozásához. A változás adott esetben akár kilencszeres teljesítménynövekedést is hozhat, vagyis ennyivel több bejövő kapcsolatot tud feldolgozni a szerver.

Egy másik újdonság a socket sharding, amely az új kapcsolatok fogadásának rendjét módosítja. Korábban a bejövő kapcsolatokról minden worker kapott értesítést, amelyért a szabadon álló workerek jelentkezhettek, a leggyorsabb pedig megkapta a feldolgozás feladatát.  A megközelítés nem hozott kiegyensúlyozott működést és egyenletes feladatelosztást. Az új socket sharding a kernelre bízza a feladatok kiosztását, amely így központi diszpécserként egyenletesen terheli a workereket. Az új megközelítés hátránya, hogy a valamilyen oknál fogva (például I/O-ra várva) belassuló workerek nem csak a folyamatban lévő kapcsolatot fogják lassan kiszolgálni, hanem az időközben kiosztott új feladatot is késve tudják elvégezni, emiatt csak olyan feladatoknál érdemes bekapcsolni, ahol az egységnyi feladat viszonylag gyorsan lefut és más szűk keresztmetszet nem tudja feltartani a workereket.

Az Nginx első kereskedelmi kiadása még 2013 augusztusában jelent meg. Az üzleti modell nagyon hasonló ahhoz, amit például a Red Hat követ, a szabad szoftvert egyedi fejlesztésekkel és teljeskörű támogatással egészíti ki, majd így értékesíti nagyvállalatok és más érdeklődő szervezetek felé. Az Nginx marketingigazgatója, Peter Guagenti a TechCrunch-nak elmondta, hogy a kereskedelmi kiadás iránt érdekes módon nem is a hagyományos tech cégek, hanem a nagyvállalatok érdeklődnek a leginkább – ahogy utóbbiak fokozatosan modern szoftverarchitektúrára és devops modellre váltanak, gyorsan képbe kerül az Nginx.

Facebook

Mit gondolsz? Mondd el!

Adatvédelmi okokból az adott hír megosztása előtt mindig aktiválnod kell a gombot! Ezzel a megoldással harmadik fél nem tudja nyomon követni a tevékenységedet a HWSW-n, ez pedig közös érdekünk.