Kua whakaritea e Cloudflare nga papanga hei tere ake te whakamunatanga kōpae i Linux

Nga Kaihanga mai i Cloudflare korerotia e pa ana ki te kawe i nga mahi ki te arotau i nga mahi o te whakamunatanga kōpae i te pata Linux. Ko te mutunga mai, kua rite ratou papaki mo te punaha iti dm-tepe me te Crypto API, i taea ai te neke atu i te rua o te panui me te tuhi i roto i te whakamatautau waihanga, tae atu ki te haurua o te roanga. I te wa i whakamatauria ki nga taputapu tuuturu, ka whakahekehia te whakamunatanga o runga ki te tata ki te taumata e kitea ana i te wa e mahi ana me te kōpae kaore he whakamunatanga raraunga.

Ka whakamahia e Cloudflare te dm-crypt ki te whakamuna i nga raraunga ki nga taputapu rokiroki e whakamahia ana ki te keteroki ihirangi i runga i te CDN. Ka mahi a Dm-crypt i te taumata o te taputapu poraka me te whakamuna i te tuhi i nga tono I/O me te wetewete i nga tono panui, ka mahi hei paparanga i waenga i te taputapu poraka me te taraiwa punaha konae.

Kua whakaritea e Cloudflare nga papanga hei tere ake te whakamunatanga kōpae i Linux

Hei arotake i te mahi a dm-crypt ma te whakamahi i te kete He kaiwhakamatau I/O ngawari I inehia e matou te tere o te mahi me nga wehewehenga whakamunatia me te kore whakamuna i runga i te kōpae RAM kei roto i te RAM hei whakakore i nga rereketanga o te mahinga kōpae me te aro ki te mahi waehere. Mo nga wehewehenga kore whakamuna, ka noho tonu te mahi panui me te tuhi ki te 1126 MB/s, engari ka heke te tere i te wa i whakahohea ai te whakamunatanga i nga wa 7 me te nui ki te 147 MB/s.

I te tuatahi, ka puta te whakapae mo te whakamahi i nga algorithms huakore i roto i te punaha crypto kernel. Engari i whakamahia e nga whakamatautau te algorithm tere, aes-xts, me nga taviri whakamunatanga 256, ko ana mahi i te wa e whakahaere ana i te "tohu tohu tohu crypto" neke atu i te rua teitei ake i te hua ka puta i te whakamatautau i te kōpae RAM. Ko nga whakamatautau me nga haki dm-crypt mo te whakatikatika mahi kaore i puta he hua: i te wa e whakamahi ana i te haki "--perf-same_cpu_crypt", ka heke iho te mahinga ki te 136 MB/s, a, ka tohua te haki "--perf-submit_from_crypt_cpus" ka piki noa ake. ki te 166 MB/s.

Ko te rangahau hohonu o te arorau whakahaere i whakaatu ko dm-crypt ehara i te mea ngawari penei i te ahua - ka tae mai he tono tuhi mai i te taraiwa FS, kaore te dm-crypt e tukatuka tonu, engari ka tuu ki roto i te rarangi "kcryptd", e e kore e poroporoa tonutia, engari i te wa watea. Mai i te rarangi, ka tukuna te tono ki te Linux Crypto API ki te mahi whakamunatanga. Engari i te mea ka whakamahia e te Crypto API tetahi tauira mahi tukutahi, kaore ano te whakamunatanga ka mahia tonu, engari ka takahi i tetahi atu rarangi. Ka oti te whakamunatanga, ka ngana pea a dm-crypt ki te whakariterite i nga tono tuhi e tatari ana ma te whakamahi rakau rapu whero-pango. I te mutunga, ka kohia ano e tetahi miro kakano motuhake, me te whakaroa, ka kohia nga tono I/O kua whakaemihia, ka tukuna atu ki te puranga taputapu poraka.

Kua whakaritea e Cloudflare nga papanga hei tere ake te whakamunatanga kōpae i Linux

I te wa e panui ana, ka taapiri tuatahi a dm-crypt he tono ki te rarangi "kcryptd_io" kia whiwhi raraunga mai i te puku. Whai muri i etahi wa, ka waatea nga raraunga ka tuu ki te rarangi "kcryptd" mo te wetemuna.
Ka tukuna e Kcryptd he tono ki te Linux Crypto API, ka wetewete i nga korero i te wa kotahi. Ko nga tono kaore e haere i nga wa katoa i nga rarangi katoa, engari i roto i te ahua kino rawa atu, ka mutu te tono tuhi ki nga rarangi ki te 4 nga wa, me te tono panui ki te 3 nga wa. Ko ia pa ki te rarangi ka whakaroa, koinei te take nui mo te hekenga nui o te mahi dm-crypt.

Ko te whakamahi i nga rarangi na te hiahia ki te mahi i roto i nga ahuatanga ka puta nga aukati. I te tau 2005, i te wa i whakatinanahia ai te tauira whakahaere a dm-crypt o naianei e pa ana ki te tutira, kaore ano te Crypto API i te tukutahi. Whai muri i te whakawhiti i te Crypto API ki tetahi tauira mahi tukutahi, ka timata te whakamarumaru rua ki te whakamahi. I whakaurua ano nga rarangi ki te penapena i te kai o te taapu kakano, engari i muri i te pikinga i te tau 2014, ka ngaro te whai take o enei arotautanga. He rarangi taapiri "kcryptd_io" i whakaurua ki te hinga i te kohanga pounamu e tatari ana mo te tohatoha mahara ina tae mai te tini o nga tono. I te tau 2015, i whakauruhia he waahanga taapiri, na te mea ka taea te whakaoti i nga tono whakamunatanga i runga i nga punaha multiprocessor (hei utu mo te urunga raupapa ki te kōpae, i mahia te urunga i roto i te raupapa matapōkere, a, kaore i pai te mahi a te kaihōtaka CFQ). I tenei wa, i te wa e whakamahi ana i nga puku SSD, kua ngaro te tikanga o te tohatoha, kua kore e whakamahia te raarangi CFQ i roto i te kernel.

I te whakaaro kua tere ake te tere me te mohio o nga puku hou, kua whakahouhia te punaha tohatoha rauemi i roto i te kernel Linux me etahi o nga punaha iti kua hoahoatia ano, nga miihini Cloudflare. kua taapirihia Ko te dm-crypt he aratau whakahaere hou e whakakore ana i te whakamahi i nga rarangi kore me nga waea tukutahi. Ko te aratau ka taea e te haki motuhake "force_inline" me te kawe mai i te dm-crypt ki te ahua o te takawaenga ngawari e whakamuna ana me te whakakore i nga tono taumai. Ko te taunekeneke me te Crypto API kua arotauhia ma te kowhiringa i nga huringa whakamunatanga e mahi ana i te aratau tukutahi me te kore e whakamahi i nga rarangi tono. Ki te mahi tukutahi me te Crypto API i reira kua whakaarohia he kōwae e taea ai e koe te whakamahi i te FPU/AES-NI mo te whakatere me te tuku tika i nga tono whakamunatanga me te whakamunatanga.

Ko te mutunga, i te wa e whakamatautau ana i te kōpae RAM, ka taea te neke atu i te rua o nga mahi o te dm-crypt - kua piki ake te mahi mai i te 294 MB/s (2 x 147 MB/s) ki te 640 MB/s, he tino tata ki te te mahinga o te whakamunatanga kau (696 MB /s).

Kua whakaritea e Cloudflare nga papanga hei tere ake te whakamunatanga kōpae i Linux

Kua whakaritea e Cloudflare nga papanga hei tere ake te whakamunatanga kōpae i Linux

Kua whakaritea e Cloudflare nga papanga hei tere ake te whakamunatanga kōpae i Linux

I te wa e whakamatautau ana i nga kawenga ki runga i nga kaitoro tuuturu, ko te whakatinanatanga hou i whakaatu i nga mahi e tata ana ki te whirihoranga e rere ana me te kore whakamunatanga, a, ko te whakamunatanga i runga i nga kaitoro me te keteroki Cloudflare kaore he paanga ki te tere whakautu. I te wa kei te heke mai, kei te whakaaro a Cloudflare ki te whakawhiti i nga papanga kua oti te whakarite ki te kakano Linux matua, engari i mua i tera me mahi ano, na te mea kua arotauhia mo te utaina motuhake kaore e kapi i nga waahanga tono katoa, hei tauira, whakamunatanga i runga i te iti. - nga taputapu whakauru mana.

Kua whakaritea e Cloudflare nga papanga hei tere ake te whakamunatanga kōpae i Linux

Source: opennet.ru

Tāpiri i te kōrero