Ilmus kompaktne HTTP-server hinsightd, mis on mĂ€rkimisvÀÀrne Linuxi tuumas pakutud asĂŒnkroonsete sisendi/vĂ€ljundi liidesega io_uring. Server toetab protokolli HTTP/1.1 ja on kujundatud madalamate ressursikasutuse jaoks, samas pakkudes vajalikku funktsionaalsust. NĂ€iteks toetab hinsightd TLS-i, tagurpidi proksimist (rproxy), dĂŒnaamiliselt genereeritud sisu vahemĂ€lu kohalikes failisĂŒsteemides, andmete reaalajas tihendamist, katkestusteta ĂŒhenduste taaskĂ€ivitamist ning dĂŒnaamiliste pĂ€ringutöötlijate ĂŒhendamist FastCGI ja CGI mehhanismide kaudu. Projekti kood on kirjutatud C keeles ja seda levitatakse BSD litsentsi all.
Konfiguratsiooni töötlemiseks, laienduste kirjutamiseks ja pĂ€ringutöötlejate loomiseks on vĂ”imalik kasutada Lua keelt, kusjuures selliseid töötlejaid saab mÀÀratleda otse failis. serveri konfiguratsiooniPluginadena on rakendatud sellised funktsioonid nagu logifaili salvestamisformaadi muutmine, eraldi logide sidumine virtuaalsete hostidega, koormuse jaotuse strateegia mÀÀratlemine, HTTP-autentimine, URL-i ĂŒmberkirjutamine ja kavandatud tööde tĂ€itmine ajakava alusel (nt Letâs Encrypt sertifikaatide uuendamine).
Koos serverilt lisatakse teek, et integreerida hinsightd funktsioone oma rakendustesse. Hinsightd sisaldab ka integreeritud funktsionaalsust HTTP pÀringute saatmiseks kÀsurealt, nÀiteks lehe laadimiseks vÔib kÀivitada kÀsu "hinsightd -d URL". Server on vÀga kompaktne ja kompileeritud kujul vÔtab see umbes 200KB (100KB kÀivitatav fail ja 100KB jagatud teek). VÀlimised sÔltuvused on ainult libc, lua, liburing ja zlib, samuti valikuline openssl/libressl ja ffcall.
Edasise arendamise plaanides mainitakse kompressitud failide vahemĂ€lu salvestamise vĂ”imalust, liivakasti isoleerimist pĂ”hinedes sĂŒsteemi kĂ”nede filtreerimisele ja nime ruumide kasutamisele, ribalaiuse juhtimist (traffic shaping), mitme lĂ”ime kasutamist, parendatud vigade töötlemist ja virtuaalsete hostide mÀÀratlemist maskide alusel.
SĂŒnteetilise jĂ”udluse testimise tulemused (optimeerimata konfiguratsioonis) ab tööriistaga, kĂ€ivitades 250 ja 500 (kurevates) paralleelset pĂ€ringut ("ab -k -c 250 -n 10000 http://localhost/"):
- hinsightd/0.9.17 â 63035.01 pĂ€ringut sekundis (54984.63)
- lighttpd/1.4.67 â 53693.29 pĂ€ringut sekundis (1613.59)
- Apache/2.4.54 â 37474.10 pĂ€ringut sekundis (34305.55)
- Caddy/2.6.2 â 35412.02 pĂ€ringut sekundis (33995.57)
- nginx/1.23.2 â 26673.64 pĂ€ringut sekundis (26172.73)
Allikas: opennet.ru
