اختبار تقنية Adaptec RAID Cache

تم استخدام حلول العمل مع صفائف RAID من محركات الأقراص الثابتة لفترة طويلة جدًا. بشكل عام ، فإنها لا تزال شائعة في العديد من المجالات حيث تتطلب مجموعة كبيرة وغير مكلفة نسبيًا ومتسامحة مع الأخطاء. نظرًا لحجم محركات الأقراص الثابتة الحديثة ، وسرعتها ، بالإضافة إلى أسباب أخرى ، فإن أكبر اهتمام عملي هو صفائف RAID6 (أو RAID60 ، إذا كان هناك العديد من الأقراص). لكن هذا النوع من المصفوفات لديه أداء منخفض في عمليات الكتابة العشوائية وليس من السهل القيام بأي شيء به.

بالطبع ، في هذه الحالة نحن نتحدث عن سرعة "الحجم الخام". في الحياة الواقعية ، يتم إضافة نظام الملفات ونظام التشغيل والتطبيقات وكل ما يضاف إليها. لذا ، في الواقع ، ليس كل شيء سيئ للغاية. ومع ذلك ، هناك أيضًا طرق أجهزة وبرامج لزيادة الإنتاجية تكون مستقلة عن هذه الأنظمة الفرعية. نحن نتحدث عن تقنيات التخزين المؤقت عند إضافة محرك ذاكرة فلاش أسرع بشكل ملحوظ إلى مجموعة من محركات الأقراص الصلبة.

على وجه الخصوص ، في وحدات تحكم Adaptec RAID تسمى هذه التقنية maxCache ويتم تنفيذ الإصدار 3.0 في طرازي ASR-8885Q و ASR-81605ZQ. عند استخدامه ، يجب مراعاة العديد من الميزات: يُسمح فقط بحجم maxCache واحد لكل وحدة تحكم ، والحد الأقصى لحجم وحدة التخزين maxCache هو 1 تيرابايت ، لكي تعمل ذاكرة التخزين المؤقت للكتابة ، يجب أن يكون لديك تكوين متسامح مع الأخطاء لحجم maxCache نفسه (على سبيل المثال ، مرآة). في الوقت نفسه ، يمكن للمستخدم أن يحدد بشكل مستقل لكل وحدة تخزين منطقية كيف سيعمل بالضبط مع maxCache - للقراءة و / أو الكتابة وفي أي وضع.
للاختبار ، استخدمنا خادمًا يعتمد على اللوحة الأم Supermicro X10SLM-F ، ومعالج Intel Xeon E3-1225 v3 (4C / 8T ، 3.2 غيغاهرتز) ، 32 غيغابايت من ذاكرة الوصول العشوائي ، تعمل تحت Debian 9.

الصورة

تحتوي وحدة التحكم ASR-81605ZQ التي تم اختبارها على وحدة حماية للذاكرة وعند العمل مع مجموعة من الأقراص الصلبة ، لديها ذاكرة تخزين مؤقت للكتابة والقراءة. تذكر أن الذاكرة الداخلية لهذا الطراز هي 1 جيجابايت. تم إنشاء صفيف RAID6 مع كتلة 256 كيلوبايت من ستة محركات أقراص صلبة Seagate ST10000NM0086 SATA بسعة 10 تيرابايت. كان الحجم الإجمالي للحجم حوالي 36 تيرابايت.

عمل زوجان من الأجهزة كأقراص SSD لحجم maxCache: اثنان من Samsung 850 EVO من الجيل الثاني واجهة 1 تيرابايت SATA وواحدان من Seagate 1200 SSD (ST400FM0053) بسعة 400 جيجا بايت تم إنشاء صفيفات RAID1. بالطبع ، يمكن اعتبار النموذج الأول بالفعل عفا عليه الزمن وليس فقط أخلاقيا. ولكن لتوضيح سيناريو الميزانية ، فإنه سيفعل. الفئة الثانية تتناسب بشكل رسمي مع فئة "الشركات" ، ولكن من الصعب أيضًا اعتبارها حديثة. في إعدادات مصفوفة maxCache نفسها ، لا يوجد سوى خيار Flush و Fetch Rate ، والذي ظل عند القيمة الافتراضية (Medium). لا توجد طريقة لتحديد أولوية للعمليات أو وحدات تخزين القرص. لاحظ أن محركات الأقراص لم تكن في حالة جديدة ولم يتم استخدام TRIM في هذا التكوين.

بعد إنشاء وحدة التخزين maxCache ، تحتاج إلى تمكين المعلمات لاستخدامها في خصائص وحدة التخزين المنطقية. هناك ثلاثة خيارات في المجموع: تمكين ذاكرة التخزين المؤقت للقراءة ، وتمكين كتابة ذاكرة التخزين المؤقت ، وكتابة نوع ذاكرة التخزين المؤقت.

تم استخدام الأداة المساعدة fio كأداة اختبار ، وتضمنت مجموعة البرامج النصية عمليات متسلسلة وعشوائية مع عدد مختلف من الخيوط. من الجدير بالذكر أنه من الصعب التعرف على دراسة أداء المنتجات التي تحتوي على تقنيات التخزين المؤقت للتكنولوجيا الاصطناعية باعتبارها أفضل خيار. من الأفضل تقييم التأثير بشكل مناسب على المهام الحقيقية ، لأن الحمل الاصطناعي يتعارض إلى حد ما مع فكرة التخزين المؤقت. بالإضافة إلى ذلك ، في هذه الحالة ، نعتبر العمليات ذات المستوى المنخفض ، وفي الواقع ، يتعامل المستخدم عادةً مع الملفات ، وكما قلنا أعلاه ، يتم تضمين نظام الملفات الخاص بالحجم ونظام التشغيل والبرنامج نفسه في العمل معهم. لذا ، فهي مواد اصطناعية ، جذابة لبساطتها وقابليتها للتكرار ، والتي لا معنى لها من تلقاء نفسها ، ولكن بشكل رئيسي لمقارنة "كيف كانت وكيف أصبحت" في سيناريوهات صعبة لخوارزميات التخزين المؤقت وتقدير تقريبي للأثر.

دعونا نرى أولاً ما يمكن لمصففتنا أن تفعله بمفردها تذكر أنه في العمليات المتتالية ، تعد السرعة بالميجابايت / ثانية والتأخير (على مقياس لوغاريتمي) مثيرة للاهتمام ، وفي العمليات العشوائية ، تكون عمليات IOPS والتأخير مثيرة للاهتمام أيضًا.

الصورة

الصورة

سرعة عمليات التدفق مع صفيف من هذا التكوين في مستوى 900 ميغا بايت / ثانية. في الوقت نفسه ، لا تتجاوز التأخيرات 70 مللي ثانية حتى مع وجود عدد كبير من سلاسل المحادثات.

الصورة

الصورة

بالنسبة لمحركات الأقراص الصلبة ، فإن العمليات العشوائية هي أصعب حمل ، كما يمكن رؤيته من النتائج. إذا قمت بتعيين حد وقت الاستجابة على 100 مللي ثانية ، فيمكنك الحصول على حوالي 1100 IOPS عند القراءة ، وعلى السجل ، بغض النظر عن الحمل ، يمكن أن يعطي الصفيف حوالي 300 IOPS. لاحظ أنه مع مجموعة RAID60 المكونة من 36 قرصًا على وحدة التحكم نفسها ، يمكنك الحصول على أرقام أكثر إثارة للاهتمام ، وذلك بفضل تكوين ثلاث كتل من 12 محرك أقراص ثابتة. يتيح لك هذا إضافة التدوير وزيادة السرعة إلى 3500 و 1200 IOPS في القراءة والكتابة العشوائية ، على التوالي (في هذا التكوين كانت هناك محركات أقراص ثابتة SAS قديمة جدًا من HGST بسعة 2 تيرابايت). الجانب السلبي من هذا الخيار هو التكلفة الإضافية للحجم ، حيث لا يتم فقدان قرصين لكل وحدة تخزين ، ولكن قرصان لكل وحدة تخزين.

لذا ، بدون التخزين المؤقت ، تبدو مجموعة منتجاتنا حزينة بما يكفي للعمليات العشوائية. بالطبع ، هذه هي السرعة "الأولية" لوحدة التخزين ، ونادرًا ما تعطي البرامج تحميلًا عشوائيًا بشكل حصري (تذكر أنه لا يزال لدينا هنا مجموعة لتخزين الملفات الكبيرة ، وليس قاعدة البيانات).

الصورة

دعونا نرى كيف يمكن أن تساعد SSDs في هذه الحالة. في الاختبارات ، سيتم استخدام أربعة خيارات تكوين متاحة - القراءة والقراءة والكتابة فقط الكتابة من خلال وقراءة وكتابة الكتابة مرة أخرى وقراءة وكتابة الكتابة الفورية مرة أخرى:

  • WB - تمكين الكتابة مرة أخرى. سيقوم maxCache بتخزين البيانات على SSD وكتابتها مرة أخرى على الأقراص الثابتة عندما يكون هناك تأثير ضئيل أو معدوم على الأداء. هذه هي السياسة الافتراضية.
  • INSTWB - تمكين الكتابة الفورية مرة أخرى. بالإضافة إلى السياسة الافتراضية ، سيقوم maxCache بإنشاء صفحات متسخة على الطاير للكتابة بخط كامل إذا كان هناك مساحة على SSD وكان عدد الصفحات المتسخة أقل من الحد الأدنى.
  • WT - الكتابة من خلال تمكين. تشبه الكتابة الفورية مرة أخرى ، ولكن عمليات الكتابة الكاملة الشريط تذهب إلى كل من ذاكرة التخزين المؤقت والقرص الصلب ولا يتم إنشاء صفحات متسخة على الفور.

لنبدأ بمحركات SATA ، وهي كبيرة جدًا. ستكون الرسوم البيانية هذه المرة منفصلة - السرعة والتأخير لكل من سيناريوهات الاختبار الأربعة.

الصورة

الصورة

في عمليات القراءة المتسلسلة ، يعرض الصفيف نتائج ثابتة بغض النظر عن نوع ذاكرة التخزين المؤقت المستخدمة ، وهو أمر متوقع. في نفس الوقت ، تختلف قليلاً عن مصفوفة بدون ذاكرة تخزين مؤقت - كل نفس 900 ميجابايت / ثانية وتأخيرات حوالي 70 مللي ثانية.

الصورة

الصورة

هناك مجموعتان على الكتابة المتسلسلة - للقراءة فقط ومع الكتابة مرة أخرى ، تظهر نتائج مشابهة لصفيف بدون ذاكرة تخزين مؤقت - حوالي 900 ميجابايت / ثانية وما يصل إلى 100 مللي ثانية ، ولا يمكن للكتابة من خلال الكتابة والكتابة الفورية سحب أكثر من 100 ميجابايت / ثانية ومع حجم أكبر بكثير التأخير.

الصورة

الصورة

تذكر أنه عند قراءة مجموعة محركات الأقراص الصلبة أظهرت بحد أقصى حوالي 1100 IOPS ، ولكن عند هذا الحد بدأت التأخيرات بالفعل في تجاوز 100 مللي ثانية. مع التخزين المؤقت SATA SSD ، يمكنك تحقيق نتائج أفضل قليلاً - حوالي 1500 IOPS وبنفس التأخيرات.

الصورة

الصورة

في عمليات التسجيل العشوائي ، نرى التأثير الأكبر - زيادة في المؤشرات بمقدار مرتين ونصف مع زيادة متزامنة في سعة الحمولة. عند استخدام ذاكرة التخزين المؤقت ، يمكن أن يكون لديك تأخيرات تصل إلى 100 مللي ثانية مع ضعف أو ثلاثة أضعاف عدد سلاسل المحادثات.

الاستنتاج العام حول هذا التكوين هو: أنه لا يتداخل مع القراءة المتسلسلة ، ولا يتداخل مع الكتابة المتسلسلة في بعض التكوينات ، ويضيف حوالي 35٪ على القراءات العشوائية ، ويزيد الأداء بضع مرات في عمليات الكتابة العشوائية.

الآن دعونا نلقي نظرة على متغير من حجم التخزين المؤقت للزوج الثاني من محركات أقراص SSD. لاحظ أنه في حالتنا كان حجمها أقل بكثير ، وواجهة SAS بسرعة 12 جيجابت / ثانية وخصائص سرعة أعلى (تم الإعلان عنها من قبل الشركة المصنعة).

الصورة

الصورة

في القراءة المتسلسلة ، لا تختلف النتائج عن تلك المذكورة سابقًا ، وهو أمر متوقع تمامًا.

الصورة

الصورة

في التسجيل المتسلسل ، لدينا الآن ثلاث مجموعات - التكوين مع الكتابة من خلال كتابة ذاكرة التخزين المؤقت متخلفة ، حول ظهور الكتابة الفورية يظهر حوالي نصف السرعة القصوى وفقط الكتابة مرة أخرى لا يختلف عن صفيف بدون ذاكرة تخزين مؤقت. نفس الوضع مع وقت الانتظار.

الصورة

الصورة

ولكن في القراءة العشوائية ، أثبتت Instant Write Back أنها الأفضل ، حيث وصلت إلى 2500 IOPS ، في حين أن بقية التكوينات يمكن أن تمتد فقط إلى 1800 IOPS. لاحظ أن جميع الخيارات مع التخزين المؤقت للكتابة أسرع بشكل ملحوظ من المصفوفة "النظيفة". في الوقت نفسه ، لا يتجاوز وقت الانتظار 100 مللي ثانية حتى مع وجود عدد كبير من مؤشرات الترابط.

الصورة

الصورة

في عمليات القراءة العشوائية ، تظهر ميزة الكتابة الفورية مرة أخرى مرة أخرى ، حيث تعرض ما يقرب من 2000 IOPS. تحتوي المجموعة الثانية على تكوينات الكتابة من خلال و الكتابة الخلفية مع 1000 IOPS.

يعرض المشارك الأخير ، الذي لا يستخدم ذاكرة التخزين المؤقت لعمليات الكتابة ، حوالي 300 IOPS ، بالإضافة إلى مجموعة من محركات الأقراص الثابتة.

ربما يكون الخيار الأكثر إثارة للاهتمام لمجلد ذاكرة التخزين المؤقت هذا هو Instant Write Back. صحيح ، إنه أبطأ في تدفق عمليات القراءة. قد يكون من الممكن إصلاح ذلك باستخدام تكوين RAID10 لوحدة تخزين maxCache ، ولكنه سيكلف بالفعل أربعة فتحات في حاوية التخزين.

بشكل عام ، يمكننا القول أن استخدام تقنية maxCache يمكن أن يكون مفيدًا حقًا لزيادة أداء المصفوفات من محركات الأقراص الثابتة ، خاصة إذا كان هناك الكثير من العمليات العشوائية في الحمل. ومع ذلك ، لا يزال من المستحيل اعتبار أنه فعال مثل استبدال محرك الأقراص الثابتة بمحرك أقراص SSD في كمبيوتر سطح المكتب أو محطة العمل.

أكبر تأثير لوحظ في الاختبارات هو زيادة سرعة العمليات العشوائية بمقدار 2-3 مرات. بالطبع ، لم يتم استخدام أسرع محركات أقراص الحالة الثابتة ، والتي انعكست بوضوح في بعض الاختبارات (على سبيل المثال ، التسجيل المتسلسل في وضع الكتابة من خلال). بالإضافة إلى ذلك ، أود أن ألفت الانتباه مرة أخرى إلى حقيقة أن اختيار تكوين التخزين المؤقت يؤثر بشكل كبير على النتائج. بالنظر إلى أن تغيير الإعدادات ممكن "على الفور" دون فقدان البيانات ، يجدر التحقق من جميع الخيارات في مهامك بنفسك واختيار الخيار الأفضل.

Source: https://habr.com/ru/post/ar419053/


All Articles