Ua saunia e Cloudflare ni patch e faʻavavevave ai faʻamatalaga faʻailoga i Linux

Atinaʻe mai Cloudflare taʻu atu e uiga i le faʻatinoina o galuega e faʻamalieina ai le faʻatinoga o faʻamatalaga faʻailoga i le fatu Linux. O se taunuuga, sa latou saunia patch mo subsystem dm-crypt ma le Crypto API, lea na mafai ai ona sili atu nai lo le faaluaina o le faitau ma le tusitusi i totonu o le suʻega faʻapipiʻi, faʻapea foʻi ma le vaeluaga o le latency. Ina ua faʻataʻitaʻiina i meafaigaluega moni, faʻamaufaʻailoga i luga o le ulu na faʻaititia i le toetoe lava o le maualuga na matauina pe a galue ma se tisiki e aunoa ma faʻamatalaga faʻamatalaga.

Cloudflare faʻaaogaina le dm-crypt e faʻailogaina ai faʻamatalaga i luga o masini e teu ai mea e faʻaogaina i luga ole CDN. O le Dm-crypt o loʻo galue i le tulaga o le masini poloka ma faʻailoga tusi I / O talosaga ma decrypts faitau talosaga, galue o se faʻavae i le va o le masini poloka ma le faila faila.

Ua saunia e Cloudflare ni patch e faʻavavevave ai faʻamatalaga faʻailoga i Linux

E iloilo le faʻatinoga o le dm-crypt faʻaaogaina le afifi Su'e su'ega I/O Na matou fuaina le saoasaoa o le galue i vaega faʻailoga ma le faʻamaonia i luga o se RAM disk o loʻo i totonu o le RAM e faʻaumatia ai fesuiaiga i le faʻatinoga o le disk ma taulaʻi i le faʻatinoga o code. Mo vaeluaga e le'i fa'ailogaina, faitau ma tusitusi fa'atinoga na tumau ile 1126 MB/s, ae fa'aitiitia le saoasaoa pe a fa'ataga fa'ailoga. 7 taimi ma e tusa ma le 147 MB/s.

I le taimi muamua, na tulaʻi mai masalosaloga e uiga i le faʻaogaina o algorithms le lelei i le kernel cryptosystem. Ae o suʻega na faʻaaogaina le algorithm sili ona vave, aes-xts, faʻatasi ai ma 256 encryption ki, o lona faʻatinoga pe a faʻatautaia le "cryptsetup benchmark" e sili atu i le faaluaina le maualuga nai lo le iʻuga na maua pe a suʻeina se RAM disk. O faʻataʻitaʻiga i fuʻa dm-crypt mo le faʻaogaina o faʻatinoga e leʻi maua ai ni taunuuga: pe a faʻaaogaina le fuʻa "--perf-same_cpu_crypt", na faʻaitiitia le faʻatinoga i le 136 MB / s, ma pe a faʻamaonia le "--perf-submit_from_crypt_cpus" fuʻa na faʻateleina naʻo. i le 166 MB/s.

O se suʻesuʻega loloto o le faʻaogaina o le faʻaogaina na faʻaalia ai e le faigofie le dm-crypt e pei ona foliga mai - pe a oʻo mai se talosaga tusitusi mai le avetaavale FS, e le faʻagasolo vave e le dm-crypt, ae tuʻu i le laina "kcryptd", lea. e le'o fa'avasegaina vave, ae pe a talafeagai. Mai le laina, e auina atu le talosaga i le Linux Crypto API e faia faʻamatalaga. Ae talu ai o le Crypto API o loʻo faʻaogaina se faʻataʻitaʻiga faʻataʻitaʻiga asynchronous, e leʻo faʻataunuʻuina vave le faʻailoga, ae o le pasia o se isi laina. A mae'a fa'amatalaga, e mafai e le dm-crypt ona taumafai e fa'avasega tusi talosaga o lo'o fa'atali e fa'aaoga ai se la'au su'esu'e mumu-uliuli. I le faaiuga, o se filo kernel ese, ma se faʻatuai faʻapitoa, e pikiina le faʻaputuina o talosaga I / O ma tuʻuina atu i le faʻaputuga o masini poloka.

Ua saunia e Cloudflare ni patch e faʻavavevave ai faʻamatalaga faʻailoga i Linux

Pe a faitau, dm-crypt muamua faʻaopoopo se talosaga i le "kcryptd_io" laina e maua ai faʻamatalaga mai le taʻavale. A maeʻa sina taimi, o loʻo avanoa faʻamatalaga ma tuʻu i totonu o le laina "kcryptd" mo le decryption.
Kcryptd auina atu se talosaga i le Linux Crypto API, lea e decrypts le faamatalaga asynchronously. O talosaga e le o taimi uma e alu ai i laina uma, ae i le tulaga sili ona leaga, o se tusi talosaga e iu i laina e oo atu i le 4 taimi, ma se talosaga faitau e oo atu i le 3 taimi. O taʻi taʻitasi i le laina e mafua ai le tuai, o le mafuaʻaga autu lea mo le faʻaitiitia o le faʻatinoina o le dm-crypt.

O le fa'aogaina o laina e mafua ona o le mana'omia e galue i tulaga e tupu ai fa'alavelave. I le 2005, ina ua faʻatinoina le faʻataʻitaʻiga faʻaogaina o le laina o le dm-crypt, o le Crypto API e leʻi faʻaogaina. Ina ua maeʻa ona faʻafeiloaʻi le Crypto API i se faʻataʻitaʻiga faʻataunuʻu asynchronous, na amata ona faʻaogaina le puipuiga faʻalua. Na faʻafeiloaʻi foʻi laina e faʻasaoina ai le faʻaogaina o le fatu fatu, ae ina ua maeʻa lona faʻateleina i le 2014, o nei faʻataʻitaʻiga na leiloa lo latou taua. O se fa'aopoopoga fa'aopoopo "kcryptd_io" na fa'aofiina e fa'ato'ilaloina ai le fa'amaufa'ailoga e mafua ai le fa'atali mo le fa'asoaina o manatua pe a o'o mai se numera tele o talosaga. I le 2015, na faʻaalia ai se vaega faʻaopoopo faʻavasegaina, talu ai e mafai ona faʻamaeʻaina talosaga faʻailoga i luga o multiprocessor system (nai lo le faʻasologa o le avanoa i le tisiki, o le avanoa na faia i se faasologa faʻafuaseʻi, ma le CFQ scheduler e leʻi galue lelei). I le taimi nei, pe a faʻaaogaina le SSD, o le faʻavasegaina ua leiloa lona uiga, ma o le CFQ scheduler e le o toe faʻaaogaina i le fatu.

Ile manatu o ta'avale fa'aonaponei ua fa'avavevave ma sili atu le atamai, o le fa'asoaina o punaoa i totonu o le fatu Linux ua toe fa'aleleia ma ua toe fa'afouina nisi o subsystems, enisinia Cloudflare. faʻaopoopo dm-crypt o loʻo i ai se faiga faʻaoga fou e faʻaumatia ai le faʻaogaina o laina e le manaʻomia ma telefoni feaveaʻi. O le faiga e mafai e se fuʻa eseʻese "force_inline" ma aumaia le dm-crypt i foliga o se sui faigofie e faʻapipiʻi ma faʻamalo talosaga o loʻo oʻo mai. Fegalegaleaiga ma le Crypto API ua sili ona lelei e ala i le filifilia manino o faʻamatalaga algorithms o loʻo faʻagaoioia i le synchronous mode ma e le faʻaogaina ai laina talosaga. E galulue fa'atasi ma le Crypto API sa i ai fautuaina se module e faʻatagaina oe e faʻaaoga FPU / AES-NI mo le faʻavavevave ma tuʻu saʻo i luma faʻamatalaga faʻamatalaga ma decryption talosaga.

O se taunuuga, pe a suʻeina se RAM disk, na mafai ona sili atu nai lo le faaluaina o le faʻatinoga o le dm-crypt - faʻatupulaia le faʻatinoga mai le 294 MB / s (2 x 147 MB ​​/ s) i le 640 MB / s, lea e latalata tele i le fa'atinoga o fa'ailoga fa'ailoga (696 MB/s).

Ua saunia e Cloudflare ni patch e faʻavavevave ai faʻamatalaga faʻailoga i Linux

Ua saunia e Cloudflare ni patch e faʻavavevave ai faʻamatalaga faʻailoga i Linux

Ua saunia e Cloudflare ni patch e faʻavavevave ai faʻamatalaga faʻailoga i Linux

Aʻo faʻataʻitaʻiina le uta i luga o 'auʻaunaga moni, o le faʻatinoga fou na faʻaalia ai le faʻatinoga e latalata tele i le faʻatulagaina o loʻo tamoʻe e aunoa ma se faʻailoga, ma faʻatagaina le faʻailoga i luga o sapalai ma Cloudflare cache e leai se aʻafiaga i le saoasaoa o tali. I le lumanaʻi, ua fuafua Cloudflare e faʻafeiloaʻi ia paʻu saunia i le fatu autu o Linux, ae ao leʻi oʻo i lena mea e manaʻomia ona toe faʻaleleia, talu ai e faʻamalieina mo se uta faʻapitoa ma e le aofia uma vaega o le talosaga, mo se faʻataʻitaʻiga, faʻailoga i lalo. -masini fa'apipi'i mana.

Ua saunia e Cloudflare ni patch e faʻavavevave ai faʻamatalaga faʻailoga i Linux

puna: opennet.ru

Faaopoopo i ai se faamatalaga