I huri a Cloudflare mai i NGINX ki tana ake takawaenga Pingora, i tuhia ki Rust

I whakapuaki a Cloudflare i te whakawhitinga o tana whatunga tuku ihirangi ki te whakamahi i te takawaenga Pingora, i tuhia ki te reo Rust. Ka whakakapihia e te takawaenga hou te whirihoranga-a-rangatira NGINX ki nga tuhinga a Lua, ka neke atu i te trillion tono ia ra. Kei te tohuhia ko te whakawhiti ki tetahi takawaenga motuhake i whakaaetia kia kaua e whakatinana i nga ahuatanga hou me te whakanui ake i te haumarutanga na te mahi haumaru o te mahara, engari i arahi ano ki te pikinga nui o te mahi me te penapena rauemi - kaore e hiahiatia e te otinga Pingora te whakamahi. o Lua, na reira ka pau 70% iti rawa CPU me te 67% iti mahara i te tukatuka i te nui o te hokohoko.

Mo te wa roa, he punaha mo te takawaenga i nga waka i waenga i nga kaiwhakamahi me nga kaitoro mutunga i runga i nga tuhinga NGINX me Lua i makona nga hiahia o Cloudflare, engari i te tipu haere o te whatunga me te piki haere o tona uaua, ka kitea he iti rawa te otinga o te ao, e rua mo te te mahi me te iti o te whakawhanui me te whakatinanatanga o nga huarahi hou mo nga kiritaki. Ina koa, he wero ki te taapiri i nga mahi ki tua atu i te kuaha ngawari me te taurite kawenga. Hei tauira, he mea tika, ki te kore te tūmau ki te tukatuka i tētahi tono, ki te tuku anō i te tono ki tētahi atu tūmau, me hoatu he huinga pane HTTP rerekē.

Engari i te hoahoanga e wehewehe ana i nga tono ki roto i nga mahi a nga kaimahi motuhake, ka whakamahi a Pingora i te tauira miro-maha, i roto i nga keehi Cloudflare e whakamahi ana (he nui te kukū o nga waka mai i nga waahi rereke me te nekehanga tatauranga nui) i whakaatu i te tohatoha pai ake o nga rauemi i waenga i nga papa CPU. Ina koa, na te herea a nginx i nga tono kore taurite ki nga mahi ka puta he taumahatanga koretake i runga i nga papa CPU, ka puta mai nga tono kaha rawa me te aukati i te I/O e whakaroa ana i te tukatuka o etahi atu tono. I tua atu, ko te here i te puna hono ki nga tukanga kaihautu kaore i whakaaetia te whakamahi ano i nga hononga kua oti te whakarite mai i etahi atu tukanga kaihautu, ka whakaiti i te kaha ina he maha nga tukanga kaihautu.

nginx:

I huri a Cloudflare mai i NGINX ki tana ake takawaenga Pingora, i tuhia ki Rust

Pingora:

I huri a Cloudflare mai i NGINX ki tana ake takawaenga Pingora, i tuhia ki Rust

Na te whakatinanatanga o Pingora i taea ai te whakaheke i te maha o nga whakaurunga o nga hononga hou ma te 160 nga wa me te whakapiki ake i te wahanga o nga patai kua whakamahia ano mai i te 87.1% ki te 99.92%. I tua atu i te whakaiti i nga hononga hono me te pai ake o te whakamahi i nga matua CPU, ko te whakapai ake i nga mahi a te takawaenga hou na te tangohanga o nga kaikawe Lua puhoi i whakamahia me te nginx.

I whiriwhiria te reo Rust ki te whakatutuki i nga mahi teitei me te waatea o nga taputapu hei whakarite i te mahi haumaru me te mahara. Kei te whakahuahia ahakoa ko nga miihini tino mohio o Cloudflare me te arotake i te waehere kua tuhia ki te reo C, kaore i taea te karo i nga hapa e arai ana ki nga raruraru mahara (hei tauira, he whakaraerae i te parser HTML). Mo te waehere hou, e korero ana mo nga keehi o te tarai i nga ngoikoretanga i Pingora, i puta mai ehara i nga raru o te tono, engari na te hapa o te kernel Linux me nga rahunga taputapu.

I tua atu, ka taea e tatou te kite i nga korero a Linus Torvalds, i whakapuakihia i te huihuinga Open-Source Summit Europe e tu ana i enei ra, mo te whakauru o te tautoko mo te reo Rust ki te kernel Linux. Ko nga papanga mo te whakawhanake i nga taraiwa i roto i te reo Rust kaore i whakauruhia ki roto i te 6.0 kernel, engari e ai ki a Linus, tera pea ka whakaaetia ki te 6.1 kernel kaore ia e whakaroa i te whakauru. Hei whakatenatena mo te taapiri i te tautoko mo Rust, i tua atu i te painga pai ki te haumarutanga, ka kii ano a Linus i te whai waahi ki te whakanui ake i te hiahia ki te mahi i runga i te kaupapa o nga kaiuru hou, he mea nui i roto i te horopaki o nga tawhito tawhito.

Source: opennet.ru

Tāpiri i te kōrero