Introduksjon av hinsightd HTTP-serveren, som bruker Linux-io_uring delsystem

En kompakt HTTP-server, hinsightd, har blitt publisert, kjent for sin bruk av kjernens medfølgende Linux io_uring asynkront input/output-grensesnitt. Serveren støtter HTTP/1.1-protokollen og er designet for å være lettvektig samtidig som den tilbyr populær funksjonalitet. For eksempel støtter hinsightd TLS, reverse proxying (rproxy), mellomlagring av dynamisk generert innhold i det lokale filsystemet, komprimering av returnerte data underveis, omstart uten å bryte etablerte forbindelser og aktivering av dynamiske forespørselshåndterere ved hjelp av FastCGI- og CGI-mekanismer. Prosjektkoden er skrevet i C og distribuert under BSD-lisensen.

Muligheten til å bruke Lua-språket er tilgjengelig for behandling av konfigurasjon, skriving av tilleggsprogrammer og oppretting av forespørselshåndterere, mens slike håndterere kan defineres direkte i filen. serverkonfigurasjonerProgramtillegg tilbyr funksjoner som å endre loggformatet, koble individuelle logger til virtuelle verter, definere en lastbalanseringsstrategi, HTTP-autentisering, omskriving av URL-er og utførelse av planlagte oppgaver (for eksempel oppdatering av Let's Encrypt-sertifikater).

Med server Et bibliotek er tilgjengelig for å integrere hinsightd-funksjonalitet i applikasjonene dine. Hinsightd inkluderer også integrert funksjonalitet for å sende HTTP-forespørsler fra kommandolinjen. For eksempel kan du kjøre "hinsightd -d URL" for å laste inn en side. Serveren er svært kompakt og tar opp omtrent 200 KB kompilert plass (100 KB kjørbar fil og 100 KB delt bibliotek). Eksterne avhengigheter inkluderer bare libc, lua, liburing og zlib, samt valgfritt openssl/libressl og ffcall.

Planer for videre utvikling inkluderer muligheten til å lagre komprimerte filer i cachen, sandkasseisolering basert på systemanropsfiltrering og bruk av navneområder, båndbreddestyring (trafikkforming), multithreading, forbedret feilhåndtering og definisjon av virtuelle verter basert på masker.

Resultatene av syntetisk ytelsestesting (uten optimaliseringer i konfigurasjonen som den er) av ab-verktøyet når du kjører 250 og 500 (i parentes) parallelle forespørsler ("ab -k -c 250 -n 10000 http://localhost/"):

  • hinsightd/0.9.17 - 63035.01 forespørsler per sekund (54984.63)
  • lighttpd/1.4.67 - 53693.29 forespørsler per sekund (1613.59)
  • Apache/2.4.54 - 37474.10 forespørsler per sekund (34305.55)
  • Caddy/2.6.2 - 35412.02 forespørsler per sekund (33995.57)
  • nginx/1.23.2 - 26673.64 forespørsler per sekund (26172.73)

Kilde: opennet.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig webhotell med DDoS-beskyttelse, VPS VDS-servere | ProHoster