Mpamorona avy amin'ny Cloudflare
Cloudflare dia mampiasa dm-crypt hanodinana angon-drakitra amin'ny fitaovana fitahirizana ampiasaina amin'ny cache votoaty ao amin'ny CDN. Ny Dm-crypt dia miasa amin'ny haavon'ny fitaovana fanakanana ary manoratra ny fangatahana I/O ary mamadika ny fangatahana famakiana, miasa toy ny sosona eo anelanelan'ny fitaovana fanakanana sy ny mpamily rafitra.
Mba hanombanana ny fahombiazan'ny dm-crypt amin'ny fampiasana ny fonosana
Tamin'ny voalohany, nipoitra ny ahiahy momba ny fampiasana algorithm tsy mahomby amin'ny kernel cryptosystem. Saingy ny fitsapana dia nampiasa ny algorithm haingana indrindra, aes-xts, miaraka amin'ny fanalahidin'ny encryption 256, izay ny fahombiazany amin'ny fampandehanana ny "benchmark cryptsetup" dia mihoatra ny avo roa heny noho ny vokatra azo tamin'ny fitsapana ny kapila RAM. Ny fanandramana miaraka amin'ny saina dm-crypt ho an'ny fanamafisam-peo dia tsy nahitam-bokatra: rehefa mampiasa ny saina "--perf-same_cpu_crypt", dia nihena ho 136 MB/s aza ny fampisehoana, ary rehefa nanondro ny saina "--perf-submit_from_crypt_cpus" dia nitombo ihany. hatramin'ny 166 MB/s.
Ny famakafakana lalindalina kokoa momba ny lojika miasa dia naneho fa ny dm-crypt dia tsy tsotra tahaka ny hita - rehefa tonga ny fangatahana fanoratana avy amin'ny mpamily FS, dm-crypt dia tsy manodina azy avy hatrany, fa mametraka azy ao amin'ny filaharana "kcryptd", izay tsy voavaha avy hatrany, fa amin'ny fotoana mety. Avy amin'ny filaharana, alefa any amin'ny Linux Crypto API ny fangatahana mba hanao encryption. Saingy satria ny Crypto API dia mampiasa modely famonoana asynchronous, ny encryption dia tsy atao avy hatrany, fa mandalo filaharana hafa. Rehefa vita ny fanafenana, dm-crypt dia mety hanandrana handamina ny fangatahana fanoratana miandry amin'ny alΓ lan'ny hazo fikarohana
Rehefa mamaky, dm-crypt aloha dia manampy fangatahana amin'ny filaharana "kcryptd_io" handraisana angona avy amin'ny fiara. Rehefa afaka kelikely, dia tonga ny angon-drakitra ary napetraka ao amin'ny filaharana "kcryptd" ho an'ny decryption.
Mandefa fangatahana any amin'ny Linux Crypto API i Kcryptd, izay mamadika ny fampahalalana tsy mifanaraka. Ny fangatahana dia tsy mandeha amin'ny filaharana rehetra, fa amin'ny tranga ratsy indrindra, ny fangatahana fanoratana dia miafara amin'ny filaharana hatramin'ny in-4, ary ny fangatahana famakiana hatramin'ny in-3. Ny fikapohana tsirairay amin'ny filaharana dia miteraka fahatarana, izany no antony lehibe amin'ny fihenan'ny fahombiazan'ny dm-crypt.
Ny fampiasana filaharana dia noho ny filΓ na miasa amin'ny toe-javatra misy ny fahatapahana. Tamin'ny taona 2005, rehefa nampiharina ny maodely fampandehanan-draharaha mifototra amin'ny filaharana an'ny dm-crypt ankehitriny, dia tsy mbola asynchronous ny Crypto API. Taorian'ny nafindran'ny Crypto API ho modely famonoana asynchronous, dia nanomboka nampiasaina ny fiarovana avo roa heny. Nampidirina ihany koa ny filaharana mba hitsitsiana ny fanjifana ny fitambaran'ny kernel, saingy taorian'ny fitomboany tamin'ny taona 2014, dia very ny lanjany ireo fanatsarana ireo. Nisy filaharana fanampiny "kcryptd_io" nampidirina mba handresena ny bottleneck ka niandry ny fanomezan-tadidy rehefa tonga ny fangatahana marobe. Tamin'ny taona 2015, nisy dingana fanasokajiana fanampiny nampidirina, satria ny fangatahana fanafenana amin'ny rafitra multiprocessor dia mety ho vita tsy misy filaminana (fa tsy ny fidirana amin'ny kapila, ny fidirana dia natao tamin'ny filaharana kisendrasendra, ary ny mpandrindra CFQ dia tsy niasa tsara). Amin'izao fotoana izao, rehefa mampiasa SSD drive dia very ny dikany, ary ny CFQ scheduler dia tsy ampiasaina amin'ny kernel intsony.
Raha jerena fa lasa haingana sy marani-tsaina kokoa ny fiara maoderina, dia nohavaozina ny rafitra fizarana loharano ao amin'ny kernel Linux ary navaozina ny subsystems sasany, injeniera Cloudflare.
Vokatr'izany, rehefa nanandrana ny kapila RAM, dia azo natao mihoatra ny avo roa heny ny fahombiazan'ny dm-crypt - nitombo ny fahombiazan'ny 294 MB / s (2 x 147 MB ββ/ s) ho 640 MB / s, izay tena akaiky. ny fahombiazan'ny fanafenana miboridana (696 MB / s).
Rehefa nanandrana enta-mavesatra amin'ny lohamilina tena izy, ny fampiharana vaovao dia nampiseho fampisehoana tena akaiky ny fanamafisam-peo mandeha tsy misy encryption, ary ny fampandehanana ny encryption amin'ny lohamilina misy Cloudflare cache dia tsy nisy fiantraikany tamin'ny hafainganan'ny valiny. Amin'ny ho avy, Cloudflare dia mikasa ny hamindra ireo patch voaomana amin'ny kernel Linux lehibe, fa alohan'izany dia mila averina averina izy ireo, satria izy ireo dia natao ho an'ny entana manokana ary tsy mandrakotra ny faritra rehetra amin'ny fampiharana, ohatra, ny encryption amin'ny ambany. - fitaovana misy herinaratra.
Source: opennet.ru