Agefouert hinsightd HTTP Server mat Linux io_uring Ënnersystem

E kompakt hinsightd HTTP-Server gouf publizéiert, notabel fir d'io_uring asynchronen I/O Interface ze benotzen, déi am Linux Kernel geliwwert gëtt. De Server ënnerstëtzt den HTTP/1.1 Protokoll an ass fir e gerénge Ressourceverbrauch entworf wärend vill erfuerderlech Funktionalitéit ubitt. Zum Beispill ënnerstëtzt hinsightd TLS, ëmgedréint Proxying (rproxy), Caching vun dynamesch generéierten Inhalt am lokalen Dateiesystem, On-the-Fly Datekompressioun, Verbindungslosen Neistart, Verbindung vun dynamesche Ufro Handler mat FastCGI a CGI Mechanismen. De Projet Code ass an C Sprooch geschriwwen a verdeelt ënner der BSD Lizenz.

Fir d'Konfiguratioun ze veraarbechten, Ergänzunge ze schreiwen an Ufro-Handler ze kreéieren, gëtt d'Fäegkeet fir d'Lua Sprooch ze benotzen, während sou Handler direkt an der Serverkonfiguratiounsdatei definéiert kënne ginn. A Form vu Plugins, Funktiounen wéi Änneren vum Logformat, Verknüpfung vun eenzel Logbicher mat virtuelle Hosten, Definitioun vun enger Laaschtbalancéierungsstrategie, HTTP Authentifikatioun, URL-Ëmschreiwe a geplangte geplangte Aarbecht (zum Beispill Aktualiséierung vu Let's Encrypt Certificaten) Form vu Plugins.

De Server kënnt mat enger Bibliothéik fir d'Integréiere vun derightd Funktionalitéit an Ären Uwendungen. Hinsightd enthält och integréiert Funktionalitéit fir HTTP-Ufroe vun der Kommandozeil ze schécken, zum Beispill fir eng Säit ze lueden, Dir kënnt "hinsightd -d URL" lafen. De Server ass ganz kompakt an dauert ongeféier 200KB kompiléiert (100KB ausféierbar an 100KB gedeelt Bibliothéik). Extern Ofhängegkeeten enthalen nëmmen libc, lua, liburing an zlib, an optional openssl/libressl an ffcall.

Pläng fir Weiderentwécklung enthalen d'Fäegkeet fir kompriméiert Dateien am Cache ze späicheren, Sandkëschtisolatioun baséiert op System Urufffilter an d'Benotzung vun Nummraim, Bandbreedungsmanagement (Traffic Shaping), Multithreading, verbessert Fehlerhandhabung an Definitioun vu virtuelle Hosten op Basis vu Masken.

D'Resultater vum syntheteschen Leeschtungstest (ouni Optimisatiounen an der Konfiguratioun wéi et ass) vum ab Utility wann Dir 250 an 500 (an Klammeren) parallele Ufroe leeft ("ab -k -c 250 -n 10000 http://localhost/"):

  • hinsightd/0.9.17 - 63035.01 Ufroen pro Sekonn (54984.63)
  • lighttpd/1.4.67 - 53693.29 Ufroen pro Sekonn (1613.59)
  • Apache/2.4.54 - 37474.10 Ufroen pro Sekonn (34305.55)
  • Caddy/2.6.2 - 35412.02 Ufroen pro Sekonn (33995.57)
  • nginx/1.23.2 - 26673.64 Ufroen pro Sekonn (26172.73)

Source: opennet.ru

Setzt e Commentaire