توسعه دهندگان Cloudflare روی وصله هایی برای سرعت بخشیدن به رمزگذاری دیسک در لینوکس کار می کنند

CloudFlare را

ل توسعه دهندگان Cloudflare منتشر کرده اند اطلاعات مربوط به کاری که آنها برای بهینه سازی عملکرد رمزگذاری دیسک در هسته لینوکس انجام می دهند ، که آنها ذکر کرده اند که آنها را آماده کرده اند وصله هایی برای زیر سیستم های dm-crypt و Crypto API.

با آن، آزمون مصنوعی مجاز بود تا پهنای باند را برای خواندن و نوشتن دو برابر کند ، و همچنین تاخیر را نصف کنید. هنگام آزمایش بر روی ماشین های واقعی ، سربار رمزگذاری تقریباً به میزان مشاهده شده هنگام کار با دیسک بدون استفاده از رمزگذاری داده کاهش یافت.

علاقه به بهبود رمزگذاری داده ها روی دیسک به این دلیل است که Cloudflare از مخفیگاه dm استفاده می کند برای رمزگذاری اطلاعات درایوهای مورد استفاده برای ذخیره سازی محتوای CDN. Dm-crypt در سطح دستگاه بلوک کار می کند و درخواستهای ورودی و خروجی را برای نوشتن و رمزگشایی درخواستهای خواندن رمزگذاری می کند ، به عنوان یک لایه بین دستگاه بلوک و درایور سیستم فایل عمل می کند.

برای ارزیابی عملکرد dm-crypt با استفاده از بسته آزمون ورودی و خروجی انعطاف پذیر ، sسرعت کار با پارتیشن های رمزگذاری شده را اندازه گیری کرد و بر روی یک دیسک RAM واقع در RAM رمزگذاری نشده است تا نوسانات عملکرد دیسک را از بین ببرد.

برای پارتیشن های رمزگذاری نشده ، عملکرد خواندن و نوشتن در 1126 مگابایت بر ثانیه باقی مانده است ، اما وقتی رمزگذاری روشن شد ، سرعت 7 برابر کاهش یافته و به 147 مگابایت در ثانیه رسیده است.

در ابتدا، استفاده از الگوریتم های ناکارآمد مشکوک بود در سیستم رمزنگاری هسته اما در این آزمایشات از الگوریتم سریعتر aes-xts با 256 کلید رمزگذاری استفاده شده است که عملکرد آنها هنگام اجرای "معیار Cryptsetup" بیش از دو برابر بیشتر از نتیجه بدست آمده هنگام آزمایش دیسک RAM است.

سرداب dm

آزمایشات با پرچم های مخفی dm برای تنظیم عملکرد کار نمی کند: هنگام استفاده از پرچم –perf-same_cpu_crypt ، عملکرد حتی به 136 مگابایت بر ثانیه کاهش یافت ، و هنگام استفاده از پرچم –perf-submit_from_crypt_cpus فقط به 166 مگابایت در ثانیه افزایش یافت.

یک تحلیل عمیق تر از منطق کار نشان داد که مخفیگاه dm به همین سادگی نیست همانطور که به نظر می رسد

هنگامی که یک درخواست نوشتن از کنترل کننده FS دریافت می شود ، dm-crypt بلافاصله آن را پردازش نمی کند ، اما آن را در صف "kcryptd" قرار می دهد ، که بلافاصله درک نمی شود ، اما زمانی که زمان خوبی اتفاق می افتد. از صف ، درخواست برای رمزگذاری به Linux Crypto API ارسال می شود.

هنگام خواندن اولین بار ، صف های مخفی dm "kcryptd_io" درخواستی برای دریافت داده از واحد. پس از با گذشت زمان ، داده ها در دسترس هستند و آنها برای رمزگشایی در صف "kcryptd" قرار دارند.

Kcryptd درخواستی را برای Linux Encryption API ارسال می کند که اطلاعات را به صورت غیر همزمان رمزگشایی می کند. درخواست ها همیشه از همه صف ها عبور نمی کنند، اما در بدترین حالت ، درخواست نوشتن تا 4 بار در صف قرار می گیرد و درخواست خواندن تا 3 بار. هر ضربه در دم منجر به تاخیر می شود ، که دلیل اصلی کاهش قابل توجه عملکرد dm-crypt می باشد.

با توجه به اینکه درایوهای مدرن سریعتر و هوشمندتر شده اند ، سیستم تخصیص منابع در هسته لینوکس تجدید نظر شده و برخی از زیر سیستم ها دوباره طراحی شده اند، مهندسان Cloudflare با از بین بردن استفاده از صف های اضافی و تماس های ناهمزمان ، حالت عملیاتی جدیدی را به dm-crypt اضافه کرده اند.

حالت توسط یک پرچم جداگانه "force_inline" فعال شده و dm-crypt را به شکل یک پروکسی ساده در می آورد که درخواست های ورودی را رمزگذاری و رمزگشایی می کند. تعامل با Crypto API از طریق انتخاب صریح الگوریتم های رمزگذاری بهینه شده است آنها در حالت همزمان کار می کنند و از صف درخواست استفاده نمی کنند.

هنگام آزمایش بار در سرورهای واقعی ، استقرار جدید عملکرد بسیار نزدیک به پیکربندی را که بدون رمزگذاری کار می کند ، نشان داد و درج رمزگذاری روی سرورهای دارای حافظه نهان Cloudflare تاثیری در سرعت پاسخ ندارد.

در آینده، Cloudflare قصد دارد وصله های آماده شده را به هسته اصلی لینوکس منتقل کند، اما قبل از آن آنها باید اصلاح شوند ، زیرا آنها برای یک بار خاص بهینه شده اند و همه مناطق برنامه را پوشش نمی دهند.

Fuente: https://blog.cloudflare.com


محتوای مقاله به اصول ما پیوست اخلاق تحریریه. برای گزارش یک خطا کلیک کنید اینجا.

اولین کسی باشید که نظر

نظر خود را بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند با *

*

*

  1. مسئول داده ها: میگل آنخل گاتون
  2. هدف از داده ها: کنترل هرزنامه ، مدیریت نظرات.
  3. مشروعیت: رضایت شما
  4. ارتباط داده ها: داده ها به اشخاص ثالث منتقل نمی شوند مگر با تعهد قانونی.
  5. ذخیره سازی داده ها: پایگاه داده به میزبانی شبکه های Occentus (EU)
  6. حقوق: در هر زمان می توانید اطلاعات خود را محدود ، بازیابی و حذف کنید.