I whakauruhia e te tūmau HTTP te maarama ma te whakamahi i te punaha Linux io_uring

Kua whakaputaina he tūmau HTTP kiato, he mea rongonui mo te whakamahi i te io_uring atanga I/O tukutahirite e whakaratohia ana ki te pata Linux. E tautoko ana te tūmau i te kawa HTTP/1.1, ā, kua hoahoatia mō te iti o te kohi rauemi i te wā e whakarato ana i ngā mahi e hiahiatia ana. Hei tauira, ka tautokohia e te hinsightd te TLS, te takawaenga whakamuri (rproxy), te keteroki o nga ihirangi i hangaia i roto i te punaha konae aa-rohe, te kopae raraunga i runga i te rere, te tiimata kore hononga, te hononga o nga kaikawe tono hihiri ma te whakamahi i nga tikanga FastCGI me te CGI. Ka tuhia te waehere kaupapa ki te reo C ka tohatohahia i raro i te raihana BSD.

Hei tukatuka i te whirihoranga, tuhia nga taapiri me te hanga i nga kaikawe tono, ka whakawhiwhia te kaha ki te whakamahi i te reo Lua, ka taea te tautuhi tika i nga kaikawe i roto i te konae whirihoranga tūmau. I roto i te ahua o nga monomai, ko nga ahuatanga penei i te whakarereke i te whakatakotoranga takiuru, te hono i nga raarangi takitahi ki nga kaihautu mariko, te tautuhi i te rautaki whakataurite kawenga, te whakamotuhēhēnga HTTP, te tuhi ano i te URL, me nga mahi kua whakaritea (hei tauira, te whakahou i nga tiwhikete Let's Encrypt) ka whakatinanahia i roto i te ahua o monomai.

Ka tae mai te tūmau me te whare pukapuka mo te whakauru i nga mahi whakakitenga ki o tono. Kei roto hoki i te Hinsightd nga mahi whakauru mo te tuku tono HTTP mai i te raina whakahau, hei tauira, ki te uta i tetahi whaarangi, ka taea e koe te whakahaere "hinsightd -d URL". He tino totika te tūmau, ā, tata ki te 200KB kua whakahiato (100KB ka taea te whakahaere me te 100KB te whare pukapuka tiritahi). Ko nga whakawhirinaki o waho ko te libc, lua, liburing me te zlib anake, me te whakatuwhera i te openssl/libersl me te ffcall.

Ko nga mahere mo etahi atu whanaketanga ko te kaha ki te penapena i nga konae kua kopaki ki roto i te keteroki, te wehe i te pouaka kirikiri i runga i te tātari waea punaha me te whakamahi i nga mokowā ingoa, te whakahaere bandwidth (whakaahua waka), te miro maha, te whakapai ake i te whakahaere hapa me te whakamaramatanga o nga kaihautu mariko i runga i nga kanohi.

Ko nga hua o te whakamatautau mahi waihanga (kare he arotautanga i roto i te whirihoranga penei) na te whaipainga ab i te wa e whakahaere ana i te 250 me te 500 (i roto i nga taiapa) nga tono whakarara ("ab -k -c 250 -n 10000 http://localhost/"):

  • hinsightd/0.9.17 - 63035.01 tono mo ia hekona (54984.63)
  • lighttpd/1.4.67 - 53693.29 tono mo ia hēkona (1613.59)
  • Apache/2.4.54 - 37474.10 tono mo ia hēkona (34305.55)
  • Caddy/2.6.2 - 35412.02 tono mo ia hekona (33995.57)
  • nginx/1.23.2 - 26673.64 tono mo ia hekona (26172.73)

Source: opennet.ru

Tāpiri i te kōrero