لماذا تؤدي قوائم انتظار التخزين المشترك إلى إبطاء عدة أجهزة افتراضية لخوادم منزلية؟

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

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

لذلك، لا يتحدد التباطؤ فقط بواسطة IOPS لجهاز افتراضي واحد. حجم الطلب، مزيج القراءة/الكتابة، سلوك التزامن، عمق الطابور، وسائط التخزين، وتوقيت اندفاع كل جهاز افتراضي مجاور تتجمع كلها في ترتيب خدمة فيزيائي واحد وميزانية زمن استجابة محدودة.

أين تصبح طوابير الأجهزة الافتراضية المنفصلة مشتركة؟

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

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

المسار الكامل مهم: مجدول الضيف، وحدة التحكم الافتراضية، طابور المضيف، بروتوكول تخزين الشبكة، وحدة تحكم RAID، والوسائط الفيزيائية يمكن لكل منها أن يضيف انتظارًا. الطبقة الأضيق المشبعة تصبح الحد المشترك.

كيف يصبح جهاز افتراضي واحد جارًا مزعجًا في التخزين؟

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

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

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

متى يتحول عمق الطابور إلى انتظار؟

بعض عمليات الإدخال/الإخراج المعلقة مفيدة لأنها تبقي التخزين القادر مشغولًا، لكن الطوابير العميقة تكشف عن نقطة اختناق في التخزين. بعد تجاوز التوازي المفيد للجهاز، تزيد الطلبات الإضافية من وقت الإقامة بدلاً من زيادة العمل المكتمل بشكل متناسب.

عمق الطابور هو عدد في طبقة واحدة، وليس خاصية عامة للآلة الافتراضية. عمق الضيف ثمانية، وعمق محول المضيف مئات، وطابور الأجهزة NVMe هي مواقع مختلفة بحدود مختلفة.

يزيد عمق الطابور من الكمون بعد التشبع. قد يظل معدل النقل مرتفعًا بينما تنتظر طلبات الآلة الافتراضية التفاعلية لفترة أطول خلف نفس التدفق المستمر.

لماذا يمكن لهندسة الطابور تغيير مقياس الآلة الافتراضية؟

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

تقلل الطوابير المتوازية من التنافس على القفل وتسمح لنوى وحدة المعالجة المركزية المختلفة بتقديم وإكمال العمل مع تقليل التسلسل. لكنها لا تخلق أداء تخزين غير محدود؛ لا يزال المتحكم أو الشبكة أو NAND أو الأقراص تفرض سقفًا ماديًا.

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

لماذا تتفاعل الأقراص الصلبة وNVMe بشكل مختلف؟

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

يمكن لعدة آلات افتراضية تحويل أحمال العمل المتسلسلة الفردية إلى نمط مادي عشوائي. على الأقراص الصلبة (HDD)، تزيد الطلبات المتداخلة من عمليات البحث والتأخير الدوراني؛ أما على الأقراص ذات الحالة الصلبة (SSD)، فقد يحسن نفس التزامن من الاستفادة حتى تصل وحدات التحكم الداخلية أو ذاكرة NAND إلى التشبع.

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

كيف تقلل جودة الخدمة وعزل أعباء العمل من التداخل؟

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

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

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

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

الأسئلة الشائعة

هل لكل جهاز افتراضي قائمة انتظار تخزين خاصة به؟

يمكن أن يكون له قوائم انتظار افتراضية، لكن تلك القوائم تندمج في النهاية في قوائم انتظار المضيف، والمحول، ووحدة التحكم، والجهاز المادي المشتركة.

هل يمكن لجهاز افتراضي واحد للنسخ الاحتياطي إبطاء جهاز قاعدة بيانات غير مرتبط؟

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

هل عمق القائمة الأعلى دائمًا سيء؟

لا. يكشف بعض العمق عن التوازي ويرفع الإنتاجية. يصبح ضارًا عندما يتجاوز العمل المعلق السعة المتوازية المفيدة وتقضي الطلبات معظم الوقت في الانتظار.

هل سيقضي NVMe على مشاكل التخزين بسبب الجيران المزعجين؟

لا. يوفر NVMe قوائم انتظار متوازية أكثر ووقت خدمة أقل، لكن موارد NAND، ووحدة التحكم، والمعالج، وRAID، والشبكة المحدودة يمكن أن تصل إلى التشبع.

النتيجة النهائية

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

مركز التكنولوجيا والذكاء الاصطناعي

المزيد للقراءة

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.