Таҳиягарон аз Cloudflare
Cloudflare dm-crypt-ро барои рамзгузории маълумот дар дастгоҳҳои нигоҳдорӣ, ки барои кэш кардани мундариҷа дар CDN истифода мешавад, истифода мебарад. Dm-crypt дар сатҳи дастгоҳи блок фаъолият мекунад ва дархостҳои навиштан/Хорро рамзгузорӣ мекунад ва дархостҳои хонданро рамзкушоӣ мекунад, ки ҳамчун қабат байни дастгоҳи блок ва драйвери системаи файлӣ амал мекунад.
Барои баҳо додан ба кори DM-crypt бо истифода аз баста
Дар аввал, шубҳа дар бораи истифодаи алгоритмҳои бесамар дар криптосистемаи ядро ба миён омад. Аммо санҷишҳо алгоритми зудтарин, aes-xts бо 256 калиди рамзгузориро истифода бурданд, ки иҷрои он ҳангоми иҷрои "бенчмарк cryptsetup" аз натиҷае, ки ҳангоми санҷиши диски RAM гирифта шудааст, ду маротиба зиёдтар аст. Таҷрибаҳо бо парчамҳои dm-crypt барои танзими кор натиҷа надоданд: ҳангоми истифодаи парчами “--perf-same_cpu_crypt”, иҷроиш ҳатто то 136 МБ/с коҳиш ёфт ва ҳангоми муайян кардани парчами “--perf-submit_from_crypt_cpus” он танҳо афзоиш ёфт. то 166 МБ/с.
Таҳлили амиқтари мантиқи амалиётӣ нишон дод, ки dm-crypt он қадар содда нест - вақте ки дархости навиштан аз драйвери FS меояд, dm-crypt онро фавран коркард намекунад, балки онро дар навбати "kcryptd" мегузорад, ки дарҳол нест, балки дар лаҳзаи муносиб. Аз навбат дархост ба Linux Crypto API барои рамзгузорӣ фиристода мешавад. Аммо азбаски Crypto API модели асинхронии иҷроишро истифода мебарад, рамзгузорӣ низ фавран иҷро намешавад, балки навбати дигарро давр мезанад. Пас аз анҷоми рамзгузорӣ, dm-crypt метавонад кӯшиш кунад, ки дархостҳои дар интизори навиштанро бо истифода аз дарахти ҷустуҷӯ ҷудо кунад
Ҳангоми хондан, dm-crypt аввал дархостро ба навбати "kcryptd_io" барои гирифтани маълумот аз диск илова мекунад. Пас аз чанд вақт, маълумот дастрас мешавад ва дар навбати "kcryptd" барои рамзкушоӣ ҷойгир карда мешавад.
Kcryptd ба Linux Crypto API дархост мефиристад, ки маълумотро ба таври асинхронӣ рамзкушоӣ мекунад. Дархостҳо на ҳама вақт аз тамоми навбатҳо мегузаранд, аммо дар бадтарин ҳолат, дархости навиштан то 4 маротиба ва дархости хондан то 3 маротиба дар навбат меистад. Хар як зарба ба навбат боиси таъхир мегардад, ки ин сабаби асосии кам шудани кори дм-крипт мебошад.
Истифодаи навбатхо аз зарурати кор дар шароите, ки дар он чо танаффус ба амал меояд. Дар соли 2005, вақте ки модели амалиётии ҷории dm-crypt ба навбат амалӣ карда шуд, API Crypto ҳанӯз асинхронӣ набуд. Пас аз он ки Crypto API ба модели иҷроияи асинхронӣ интиқол дода шуд, аслан муҳофизати дукарата истифода мешуд. Навбатҳо инчунин барои сарфаи истеъмоли стеки ядро ҷорӣ карда шуданд, аммо пас аз афзоиши он дар соли 2014, ин оптимизатсияҳо аҳамияти худро гум карданд. Навбати иловагии "kcryptd_io" барои бартараф кардани монеа ҷорӣ карда шуд, ки дар натиҷа интизори тақсимоти хотира ҳангоми ворид шудани шумораи зиёди дархостҳо мешавад. Дар соли 2015 марҳилаи иловагии ҷудокунӣ ҷорӣ карда шуд, зеро дархостҳои рамзгузорӣ дар системаҳои бисёрпросессорӣ метавонанд аз кор анҷом дода шаванд (ба ҷои дастрасии пайдарпай ба диск, дастрасӣ бо тартиби тасодуфӣ сурат гирифт ва ҷадвали CFQ самаранок кор намекард). Дар айни замон, ҳангоми истифодаи дискҳои SSD, ҷудокунӣ маънои худро гум кардааст ва ҷадвали CFQ дигар дар ядро истифода намешавад.
Бо дарназардошти он, ки дискҳои муосир тезтар ва оқилтар шудаанд, системаи тақсимоти захираҳо дар ядро Linux аз нав дида баромада шуд ва баъзе зерсистемаҳо аз нав тарҳрезӣ шуданд, муҳандисони Cloudflare
Дар натиҷа, ҳангоми санҷиши диски RAM имкон дошт, ки кори dm-crypt бештар аз ду баробар зиёд карда шавад - иҷроиш аз 294 МБ/с (2 х 147 МБ/с) то 640 МБ/с афзуд, ки ин ба хеле наздик аст. иҷрои рамзгузории луч (696 MB / с).
Ҳангоми санҷиши сарборӣ дар серверҳои воқеӣ, татбиқи нав иҷроишро ба конфигуратсияи бидуни рамзгузорӣ хеле наздик нишон дод ва имкон додани рамзгузорӣ дар серверҳо бо кэши Cloudflare ба суръати посух таъсире надошт. Дар оянда, Cloudflare нақша дорад, ки часбҳои омодашударо ба ядрои асосии Linux интиқол диҳад, аммо пеш аз ин онҳо бояд аз нав кор карда шаванд, зеро онҳо барои сарбории мушаххас оптимизатсия карда шудаанд ва ҳама соҳаҳои барномаро дар бар намегиранд, масалан, рамзгузорӣ дар сатҳи паст - дастгоҳҳои дарунсохташуда.
Манбаъ: opennet.ru