أيهما صحيح؟ نظرة على أساليب I / O التخزين المؤقت

مؤلف: Laura McKinney
تاريخ الخلق: 1 أبريل 2021
تاريخ التحديث: 25 يونيو 2024
Anonim
سيد الحرب 4 مترجم القصة كاملة (جميع المقاطع السينمائية) |  4 God Of War بجودة عالية (4K)
فيديو: سيد الحرب 4 مترجم القصة كاملة (جميع المقاطع السينمائية) | 4 God Of War بجودة عالية (4K)

المحتوى


المصدر: Kgtoh / Dreamstime.com

يبعد:

تعتمد سرعة التطبيقات بشكل كبير على سرعة إدخال / إخراج ذاكرة التخزين المؤقت. هنا نقوم بمقارنة طرق إدخال / إخراج ذاكرة التخزين المؤقت المختلفة.

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

دعونا نلقي نظرة على سبب تأثير تحسين الكتابة على أداء تطبيقك بشكل كبير. الكتابة I / O تعني أنها بيانات جديدة غير مكتوبة على وحدة التخزين الأساسية الخاصة بك. في تخزين SAN التقليدي ، على سبيل المثال ، تتم كتابة عمليات الكتابة مباشرة على وحدة التخزين الأساسية ثم إعادتها إلى التطبيق. مع التطبيقات التي تكتب باستمرار بيانات جديدة ، ولا سيما تطبيقات قواعد البيانات الكبيرة (SQL ، وما إلى ذلك) ، لا يمكن متابعة أقراص الغزل التقليدية. أصبح التخزين المؤقت على محركات أقراص الحالة الصلبة حلاً يسمح لكتابة الكتابة محليًا وتخزينها مؤقتًا استنادًا إلى تكرار طلب التطبيق ؛ ومع ذلك ، هناك عدة طرق لعلاقة ذاكرة التخزين المؤقت للكتابة مع وحدة التخزين الأساسية التي تسبب اختلافًا كبيرًا في الأداء.


هذه هي الأشكال الثلاثة لكتابة I / O:

  1. الكتابة حول (حول ذاكرة التخزين المؤقت)
  2. الكتابة (من خلال ذاكرة التخزين المؤقت)
  3. الكتابة الخلفية (من ذاكرة التخزين المؤقت)

جميع النماذج الثلاثة لها فوائد مختلفة تعتمد أساسًا على نوع البيانات التي تتم كتابتها: متسلسل مقابل عشوائي. I / O التسلسلي هو الأكثر الأمثل بواسطة القرص الأساسي (الملفات أو دفق الفيديو على سبيل المثال) ، بينما يتم تحسين I / Os عشوائي بواسطة ذاكرة التخزين المؤقت. لا تتمتع معظم أجهزة التخزين المؤقت بذكاء ديناميكي لتغيير شكل تكنولوجيا الكتابة وفقًا لنوع البيانات. دعونا نفهم الفرق بين الأشكال الثلاثة لكتابة I / O.

الكتابة حول

تعد ميزة الكتابة ، والمعروفة أيضًا باسم وضع التخزين المؤقت للقراءة فقط ، مفيدة تمامًا في توفير مساحة لتخزين ذاكرة التخزين المؤقت للقراءة. لا تدخل I / O الواردة ذاكرة التخزين المؤقت. تتم كتابة I / Os مباشرة إلى التخزين الدائم دون التخزين المؤقت لأي بيانات.

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


الكتابة من خلال

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

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

No Bugs، No Stress - دليلك خطوة بخطوة لإنشاء برامج لتغيير الحياة دون تدمير حياتك

لا يمكنك تحسين مهارات البرمجة لديك عندما لا يهتم أحد بجودة البرنامج.

رد على الرسالة

تعمل ميزة "الكتابة إلى الخلف" على تحسين نتائج النظام من حيث السرعة - لأن النظام لا يتعين عليه انتظار وصول الكتابة إلى وحدة التخزين الأساسية.

عندما تأتي البيانات المراد كتابتها ، ستقوم Write-Back بوضع البيانات في ذاكرة التخزين المؤقت ، "كل ذلك" ، والاحتفاظ بالبيانات للكتابة على قرص التخزين لاحقًا.

هذا يحل الكثير من مشاكل الكمون ، لأن النظام لا يجب أن ينتظر هذه الكتابة العميقة.

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

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

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