Bemutatták a hinsightd HTTP szervert, amely az io_uring Linux-alrendszert használja

Megjelent a kompakt HTTP-szerver, a hinsightd, amely figyelemre méltó a Linux kernelben rendelkezésre álló io_uring aszinkron bemenet/kimenet interfész használatáról. A szerver támogatja a HTTP/1.1 protokollt, és alacsony erőforrás-fogyasztásra lett tervezve, miközben a szükséges funkcionalitást is biztosítja. Például a hinsightd támogatja a TLS-t, a fordított proxyzást (rproxy), a dinamikusan generált tartalom helyi fájlrendszerben történő gyorsítótárazását, az áramlás közbeni adatkompressziót, a megszakítás nélküli újraindítást, és dinamikus kéréskezelők csatlakoztatását FastCGI és CGI mechanizmusokon keresztül. A projekt kódja C nyelven íródott, és BSD licenc alatt terjesztik.

A konfiguráció kezelése, kiegészítők írása és kéréskezelők létrehozása érdekében lehetőség van Lua nyelv használatára, amely lehetővé teszi, hogy az ilyen kezelők közvetlenül a fájlban határozhatók meg. a szerver konfigurációja. A plugin formájában számos funkció valósították meg, mint például a naplóformátum megváltoztatása, egyes naplók hozzárendelése virtuális hosztokhoz, teherelosztási stratégia meghatározása, HTTP-hitelesítés, URL-újraírás és ütemezett feladatok végrehajtása (például a Let’s Encrypt tanúsítványok frissítése).

A szerverrel kibővítve egy könyvtárral, amely lehetővé teszi a hinsightd funkcióinak integrálását a saját alkalmazásaiba. A hinsightd beépített funkciókat is tartalmaz HTTP-kérések küldésére parancssorból, például egy oldal letöltéséhez a „hinsightd -d URL” parancsot kell végrehajtani. A szerver nagyon kompakt, és a lefordított formája körülbelül 200KB (100KB végrehajtható fájl és 100KB megosztott könyvtár). Külső függőségei közé tartozik a libc, lua, liburing és zlib, valamint opcionálisan az openssl/libressl és ffcall.

A további fejlesztési tervekből kiemelendő a tömörített fájlok gyorsítótárazásának lehetősége, a sandbox-izoláció rendszervcallszűréssel alapozva és névtér használatával, a sávszélesség-kezelés (traffic shaping), a több szálas feldolgozás, a hibakezelés javítása, és a virtuális hosztok maszkolt alapú meghatározása.

A teljesítmény szintetikus tesztelésének eredményei (optimalizációk nélküli konfigurációban) az ab segédprogram használatával végzett 250 és 500 (zárójelben) párhuzamos kérés esetén („ab -k -c 250 -n 10000 http://localhost/”):

  • hinsightd/0.9.17 — 63035.01 kérés másodpercenként (54984.63)
  • lighttpd/1.4.67 — 53693,29 kérés másodpercenként (1613,59)
  • Apache/2.4.54 — 37474,10 kérés másodpercenként (34305,55)
  • Caddy/2.6.2 — 35412,02 kérés másodpercenként (33995,57)
  • nginx/1.23.2 — 26673,64 kérés másodpercenként (26172,73)

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster