Predstavljamo hinsightd HTTP server, koji koristi Linux-io_uring podsistem

Objavljen je kompaktni HTTP server, hinsightd, poznat po korištenju kernelovih funkcija. Linux io_uring asinhroni ulazno/izlazni interfejs. Server podržava HTTP/1.1 protokol i dizajniran je da bude lagan, a istovremeno pruža popularne funkcionalnosti. Na primjer, hinsightd podržava TLS, obrnuto proxyiranje (rproxy), keširanje dinamički generiranog sadržaja u lokalnom datotečnom sistemu, kompresiju vraćenih podataka u hodu, ponovno pokretanje bez prekidanja uspostavljenih veza i omogućavanje dinamičkih rukovatelja zahtjevima korištenjem FastCGI i CGI mehanizama. Kod projekta je napisan u C-u i distribuiran pod BSD licencom.

Mogućnost korištenja Lua jezika je omogućena za obradu konfiguracije, pisanje dodataka i kreiranje obrađivača zahtjeva, dok se takvi obrađivači mogu definirati direktno u datoteci. konfiguracije serveraDodaci (plug-inovi) pružaju funkcije kao što su promjena formata dnevnika, povezivanje pojedinačnih dnevnika s virtualnim hostovima, definiranje strategije balansiranja opterećenja, HTTP autentifikacija, prepisivanje URL-ova i izvršavanje planiranih zadataka (kao što je ažuriranje Let's Encrypt certifikata).

Zajedno s njima server Obezbijeđena je biblioteka za integraciju hinsightd funkcionalnosti u vaše aplikacije. Hinsightd također uključuje integriranu funkcionalnost za slanje HTTP zahtjeva iz komandne linije; na primjer, za učitavanje stranice možete pokrenuti "hinsightd -d URL". Server je vrlo kompaktan, zauzimajući približno 200 KB kompajliranog prostora (100 KB izvršne datoteke i 100 KB dijeljene biblioteke). Vanjske zavisnosti uključuju samo libc, lua, liburing i zlib, kao i opcionalno openssl/libressl i ffcall.

Planovi za dalji razvoj uključuju mogućnost skladištenja komprimovanih fajlova u keš memoriju, izolaciju sandbox-a zasnovanu na filtriranju sistemskih poziva i korišćenju imenskih prostora, upravljanje propusnim opsegom (oblikovanje saobraćaja), multithreading, poboljšano rukovanje greškama i definisanje virtuelnih hostova na osnovu maski.

Rezultati sintetičkog testiranja performansi (bez optimizacija u konfiguraciji kakva jeste) od strane uslužnog programa ab kada se izvršavaju 250 i 500 (u zagradama) paralelnih zahtjeva ("ab -k -c 250 -n 10000 http://localhost/"):

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

izvor: opennet.ru

Kupite pouzdan hosting za sajtove sa DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan web hosting sa DDoS zaštitom, VPS VDS servere | ProHoster