është publikuar serveri i kompakt HTTP hinsightd, i njohur për përdorimin e ndërfaqes asinkrone të hyrjes/daljes io_uring të siguruar nga bërthama Linux. Serveri mbështet protokollin HTTP/1.1 dhe është projektuar për konsum të ulët burimesh, duke ofruar njëkohësisht funksionalitete të kërkuara. Për shembull, hinsightd mbështet TLS, proksimin e kundërt (rproxy), ruajtjen e përmbajtjes gjithnjë e në gjenerim në sistemin lokal të skedarëve, kompresimin në kohë reale të të dhënave të dërguara, ripërshtatjen pa ndarje të lidhjeve të vendosura, lidhjen e trajtuesve të kërkesave dinamike përmes mekanizmave FastCGI dhe CGI. Kodi i projektit është shkruar në gjuhën C dhe shpërndahet nën licencën BSD.
Për trajtimin e konfiguracionit, shkruan shtesa dhe krijimin e trajtuesve të kërkesave, ofrohet mundësia e përdorimit të gjuhës Lua, me qëllim që të tilla trajtues mund të përcaktohen direkt në skedarin konfigurimin e serverit. Mënyrat e plugin-eve ofrojnë mundësi të tilla si ndryshimi i formatit të shënimeve në log, lidhja e shkallëve të veçanta në hostet virtualë, përcaktimi i strategjive të balancimit të ngarkesës, autentikimi HTTP, ndryshimi i URL-ve dhe kryerja e punëve të planifikuara sipas një skedari (për shembull, rinovimi i sertifikatave Let’s Encrypt).
Bashkë me serverin shkurtim biblioteka për integrimin e funksioneve të hinsightd në aplikacionet tuaja. Hinsightd gjithashtu përfshin funksionalitet të integruar për dërgimin e kërkesave HTTP nga linja e komandës, për shembull, për të shkarkuar një faqe, mund të ekzekutoni komandën "hinsightd -d URL". Serveri është shumë kompakt dhe zë rreth 200KB në format të kompiluar (100KB skedari ekzekutiv dhe 100KB bibliotekë e ndarë). Nga varësitë e jashtme, vetëm libc, lua, liburing dhe zlib janë të pranishme, si edhe opsionalisht openssl/libressl dhe ffcall.
Në planet për zhvillimin e mëtejshëm përmendet mundësia e ruajtjes në cache të skedarëve të kompresuar, izolimi sandbox mbi bazën e filtrimit të thirrjeve sistemike dhe përdorimit të hapësirave të emrave, menaxhimi i kapacitetit të kalimit (traffic shaping), shumëfishtëzimi, përmirësimi i trajtimit të gabimeve dhe përcaktimi i hosteve virtualë në bazë të maskave.
Rezultatet e testimit sintetik të performancës (pa optimizime në konfigurim siç janë) me mjetin ab, duke drejtuar 250 dhe 500 (në pranga) kërkesa paralele ("ab -k -c 250 -n 10000 http://localhost/"):
- hinsightd/0.9.17 — 63035.01 kërkesa për sekondë (54984.63)
- lighttpd/1.4.67 — 53693.29 kërkesa për sekondë (1613.59)
- Apache/2.4.54 — 37474.10 kërkesa për sekondë (34305.55)
- Caddy/2.6.2 — 35412.02 kërkesa për sekondë (33995.57)
- nginx/1.23.2 — 26673.64 kërkesa për sekondë (26172.73)
Burimi: opennet.ru
