Sethule iseva ye-HTTP ene-hisightd kusetshenziswa i-Linux io_uring subsystem

Iseva ye-HTTP ene-compact hinsightd ishicilelwe, ephawuleka ngokusebenzisa i-io_uring i-asynchronous interface ye-I/O enikezwe ku-Linux kernel. Iseva isekela iphrothokholi ye-HTTP/1.1 futhi yakhelwe ukusetshenziswa okuphansi kwensiza kuyilapho inikeza ukusebenza okudingeka kakhulu. Isibonelo, i-hinsightd isekela i-TLS, i-proxying ehlehlayo (i-rproxy), ukugcinwa kwesikhashana kokuqukethwe okukhiqizwa ngamandla ohlelweni lwefayela lendawo, ukucindezelwa kwedatha okundizayo, ukuqalisa kabusha okungenakuxhumana, ukuxhunywa kwezibambi zezicelo ezinamandla kusetshenziswa izindlela ze-FastCGI ne-CGI. Ikhodi yephrojekthi ibhalwe ngolimi C futhi isatshalaliswa ngaphansi kwelayisensi ye-BSD.

Ukuze ucubungule ukucushwa, bhala izengezo futhi udale abaphathi bezicelo, ikhono lokusebenzisa ulimi lwesiLua linikezwa, kuyilapho abaphathi abanjalo bangachazwa ngokuqondile kufayela lokucushwa kweseva. Ngendlela yama-plugin, izici ezifana nokushintsha ifomethi yokugawulwa kwemithi, ukuxhumanisa amalogi angawodwana nabasingathi abangokoqobo, ukuchaza isu lokulinganisa umthwalo, ukuqinisekiswa kwe-HTTP, ukubhalwa kabusha kwe-URL, nomsebenzi ohleliwe ohleliwe (isibonelo, ukubuyekezwa kwezitifiketi Asibethele) zenziwa ku uhlobo lwama-plugin.

Iseva iza nomtapo wolwazi wokuhlanganisa ukusebenza kwe-hinsightd kuzinhlelo zakho zokusebenza. I-Hinsightd ihlanganisa nokusebenza okuhlanganisiwe kokuthumela izicelo ze-HTTP kusuka kumugqa womyalo, isibonelo, ukulayisha ikhasi, ungasebenzisa "hinsightd -d URL". Iseva iminyene kakhulu futhi ithatha cishe u-200KB ohlanganisiwe (100KB osebenzisekayo kanye nelabhulali eyabiwe engu-100KB). Ukuncika kwangaphandle kufaka kuphela i-libc, i-lua, i-liburing ne-zlib, futhi ngokuzikhethela i-openssl/libressl ne-ffcall.

Izinhlelo zokuthuthukiswa okuqhubekayo zihlanganisa ikhono lokugcina amafayela acindezelwe kunqolobane, ukuhlukaniswa kwebhokisi lesihlabathi okusekelwe ekuhlungeni ucingo lwesistimu kanye nokusetshenziswa kwezikhala zamagama, ukuphathwa komkhawulokudonsa (ukwakheka kwethrafikhi), ukufunda okuningi, ukuphathwa kwamaphutha okuthuthukisiwe kanye nencazelo yabasingathi be-virtual esekelwe kumaski.

Imiphumela yokuhlolwa kokusebenza kokwenziwa (ngaphandle kokulungiselelwa ekucushweni njengoba injalo) ngosizo lwe-ab lapho isebenzisa 250 kanye nezingu-500 (kubakaki) izicelo ezifanayo ("ab -k -c 250 -n 10000 http://localhost/"):

  • hinsightd/0.9.17 - 63035.01 izicelo ngomzuzwana (54984.63)
  • lighttpd/1.4.67 - 53693.29 izicelo ngomzuzwana (1613.59)
  • Izicelo ze-Apache/2.4.54 - 37474.10 ngomzuzwana (34305.55)
  • Izicelo ze-Caddy/2.6.2 - 35412.02 ngomzuzwana (33995.57)
  • nginx/1.23.2 - 26673.64 izicelo ngomzuzwana (26172.73)

Source: opennet.ru

Engeza amazwana