د Cloudflare څخه پراختیا کونکي
Cloudflare په CDN کې د مینځپانګې زیرمه کولو لپاره کارول شوي ذخیره وسیلو کې ډیټا کوډ کولو لپاره dm-crypt کاروي. Dm-crypt د بلاک وسیلې په کچه کار کوي او کوډ کوي I/O غوښتنې لیکي او د لوستلو غوښتنې ډیکریټ کوي ، د بلاک وسیلې او فایل سیسټم ډرایور ترمینځ د پرت په توګه عمل کوي.
د کڅوړې په کارولو سره د dm-crypt فعالیت ارزولو لپاره
په لومړي سر کې، د کرنل کریپټو سیسټم کې د غیر موثر الګوریتم کارولو په اړه شک راپورته شو. مګر ازموینو د 256 کوډ کولو کلیدونو سره ترټولو ګړندی الګوریتم ، aes-xts کارولی ، د کوم فعالیت کله چې د "کریپټسیټ اپ بنچمارک" چلول د RAM ډیسک ازموینې پرمهال ترلاسه شوي پایلې دوه چنده لوړ دي. د فعالیت ټینګ کولو لپاره د dm-crypt بیرغونو سره تجربو پایله نه وه ترلاسه کړې: کله چې د "-perf-same_cpu_crypt" بیرغ کارولو سره ، فعالیت حتی 136 MB/s ته راټیټ شو ، او کله چې د "--perf-submit_from_crypt_cpus" بیرغ مشخص کول دا یوازې لوړ شو. تر 166 MB/s پورې.
د عملیاتي منطق ژورې تحلیل وښودله چې dm-crypt دومره ساده نه دی لکه څنګه چې ښکاري - کله چې د FS ډرایور څخه د لیکلو غوښتنه راشي، dm-crypt سمدلاسه دا پروسس نه کوي، مګر دا د "kcryptd" کتار کې ځای په ځای کوي، کوم چې سمدلاسه نه تجزیه کیږي ، مګر کله چې مناسبه شیبه وي. د قطار څخه، غوښتنه د کوډ کولو ترسره کولو لپاره د لینکس کریپټو API ته لیږل کیږي. مګر له هغه وخته چې کریپټو API د غیر متناسب اجرا کولو ماډل کاروي ، نو کوډ کول هم سمدلاسه نه ترسره کیږي ، مګر د بل کتار څخه تیریږي. وروسته له دې چې کوډ کول بشپړ شي، dm-crypt ممکن د لټون د ونې په کارولو سره د پاتې لیکلو غوښتنو ترتیب کولو هڅه وکړي
کله چې لوستل کیږي، dm-crypt لومړی د ډرایو څخه ډاټا ترلاسه کولو لپاره د "kcryptd_io" کتار کې غوښتنه اضافه کوي. د یو څه وخت وروسته، ډاټا شتون لري او د کوډ کولو لپاره د "kcryptd" کتار کې ځای پرځای کیږي.
Kcryptd د لینکس کریپټو API ته غوښتنه لیږي ، کوم چې معلومات په غیر متناسب ډول ډیکریټ کوي. غوښتنې تل د ټولو قطارونو څخه نه تیریږي، مګر په بدترین حالت کې، د لیکلو غوښتنه تر 4 ځله پورې په کتارونو کې پای ته رسیږي، او د لوستلو غوښتنه تر 3 ځله پورې. قطار ته هر ټک د ځنډ لامل کیږي، کوم چې د dm-crypt فعالیت کې د پام وړ کمښت اصلي دلیل دی.
د قطارونو کارول په داسې شرایطو کې د کار کولو اړتیا له امله ده چیرې چې خنډونه پیښیږي. په 2005 کې، کله چې د dm-crypt اوسنی قطار پر بنسټ عملیاتي ماډل پلي شو، د کریپټو API لا تر اوسه غیر متمرکز نه و. وروسته له دې چې کریپټو API د غیر متمرکز اجرا کولو ماډل ته لیږدول شوی، په اصل کې دوه ځله محافظت کارول پیل شوي. کتارونه د کرنل سټیک مصرف خوندي کولو لپاره هم معرفي شوي ، مګر په 2014 کې د هغې له زیاتوالي وروسته ، دې اصلاحونو خپل تړاو له لاسه ورکړ. یو اضافي کتار "kcryptd_io" د خنډ د لرې کولو لپاره معرفي شو چې پایله یې د حافظې تخصیص ته انتظار کول کله چې ډیری غوښتنې راشي. په 2015 کې، د ترتیب کولو اضافي مرحله معرفي شوه، ځکه چې په ملټي پروسیسر سیسټمونو کې د کوډ کولو غوښتنې د ترتیب څخه بهر بشپړ کیدی شي (ډیسک ته د ترتیب شوي لاسرسي پرځای، لاسرسی په تصادفي ترتیب کې ترسره شوی، او د CFQ مهالویش په اغیزمنه توګه کار نه کوي). اوس مهال، کله چې د SSD ډرایو کارول، ترتیب کول خپل معنی له لاسه ورکړې، او د CFQ مهالویش نور په کرنل کې نه کارول کیږي.
د دې په پام کې نیولو سره چې عصري ډرایو ګړندي او هوښیار شوي ، د لینکس کرنل کې د سرچینو توزیع سیسټم بیاکتنه شوی او ځینې فرعي سیسټمونه بیا ډیزاین شوي ، د کلاوډ فلیر انجینران
د پایلې په توګه، کله چې د RAM ډیسک معاینه کول، دا ممکنه وه چې د dm-crypt فعالیت دوه چنده زیات شي - فعالیت له 294 MB/s (2 x 147 MB/s) څخه 640 MB/s ته لوړ شوی، کوم چې ډیر نږدې دی. د خلاص کوډ کولو فعالیت (696 MB /s).
کله چې په ریښتیني سرورونو کې د بار ازموینه کول ، نوي پلي کول د کوډ کولو پرته د چلولو ترتیب ته خورا نږدې فعالیت ښودلی ، او د کلاوډ فلیر کیچ سره په سرورونو کې د کوډ کولو وړ کول د غبرګون سرعت باندې هیڅ اغیزه نلري. په راتلونکي کې ، کلاوډ فلیر پلان لري چې چمتو شوي پیچونه اصلي لینکس کرنل ته انتقال کړي ، مګر مخکې لدې چې دوی بیا کار کولو ته اړتیا ولري ، ځکه چې دوی د ځانګړي بار لپاره مطلوب دي او د غوښتنلیک ټولې ساحې نه پوښي ، د مثال په توګه ، په ټیټ کې کوډ کول - د بریښنا سرایت شوي وسایل.
سرچینه: opennet.ru