Tinayambitsa seva ya hinsightd HTTP pogwiritsa ntchito Linux io_uring subsystem

Seva yowoneka bwino ya HTTP yasindikizidwa, yodziwika kugwiritsa ntchito mawonekedwe a io_uring asynchronous I/O operekedwa mu Linux kernel. Seva imathandizira HTTP/1.1 protocol ndipo idapangidwa kuti izingogwiritsa ntchito zinthu zochepa pomwe ikupereka magwiridwe antchito ofunikira. Mwachitsanzo, hinsightd imathandizira TLS, reverse proxying (rproxy), caching of dynamically generated content in the local file system, on-the-fly data compression, restartless restart, kugwirizana kwa opempha amphamvu pogwiritsa ntchito FastCGI ndi CGI njira. Khodi ya polojekitiyi imalembedwa m'chinenero cha C ndikugawidwa pansi pa layisensi ya BSD.

Kuti muyambe kukonzekera, lembani zowonjezera ndikupanga otsogolera opempha, kuthekera kogwiritsa ntchito chinenero cha Lua kumaperekedwa, pamene ogwira ntchito oterewa amatha kufotokozedwa mwachindunji mu fayilo yokonzekera seva. Mu mawonekedwe a mapulagini, zinthu monga kusintha mtundu wodula mitengo, kulumikiza zipika za anthu omwe ali ndi makamu enieni, kufotokozera njira yosinthira katundu, kutsimikizika kwa HTTP, kulembanso ulalo, ndi ntchito yokonzedwa (mwachitsanzo, kukonzanso ma satifiketi a Let's Encrypt) kumayendetsedwa mu mawonekedwe a mapulagini.

Seva imabwera ndi laibulale yophatikizira magwiridwe antchito a hinsightd mu mapulogalamu anu. Hinsightd imaphatikizanso ntchito zophatikizika potumiza zopempha za HTTP kuchokera pamzere wolamula, mwachitsanzo, kuti mutsegule tsamba, mutha kuthamanga "hinsightd -d URL". Seva ndi yaying'ono kwambiri ndipo imatenga pafupifupi 200KB yopangidwa (100KB yotheka komanso laibulale yogawana 100KB). Kudalira kunja kumangophatikizapo libc, lua, liburing ndi zlib, komanso openssl/libressl ndi ffcall.

Mapulani opititsa patsogolo chitukuko akuphatikizapo kukwanitsa kusunga mafayilo oponderezedwa mu cache, kupatulidwa kwa sandbox kutengera kusefa kuyitana kwadongosolo ndi kugwiritsa ntchito malo a mayina, kasamalidwe ka bandwidth (mawonekedwe a magalimoto), ma multithreading, kuwongolera zolakwika ndikutanthauzira kwa makamu enieni otengera masks.

Zotsatira za kuyesa kochita kupanga (popanda kukhathamiritsa mu kasinthidwe monga momwe zilili) ndi ab zofunikira poyendetsa 250 ndi 500 (m'mabulaketi) zopempha zofanana ("ab -k -c 250 -n 10000 http://localhost/"):

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

Source: opennet.ru

Kuwonjezera ndemanga