يغير عمق الطابور وحجم الكتلة كمون القراءة العشوائية لأنهما يتحكمان في كمية العمل المقدمة دفعة واحدة وكمية البيانات التي تنقلها كل عملية. يقيس اختبار منخفض العمق وصغير الكتلة مدى سرعة إتمام طلب واحد، بينما يقيس اختبار عالي العمق مقدار العمل المتوازي الذي يمكن لمسار التخزين تحمله.
لذلك يمكن لنفس NAS أن يظهر IOPS متواضع عند 4K QD1، وIOPS أعلى بكثير عند 4K QD32، وأداء قوي في نقل الكتل الكبيرة دون تناقض. كل نتيجة تصف عبء عمل مختلف، وقد يكون الرقم الأسرع في الاختبار الأقل تمثيلًا لقاعدة بيانات تفاعلية، مكتبة صور، أو تطبيق حاويات.
ما الذي يتحكم فيه عمق الطابور وحجم الكتلة فعليًا؟
عمق الطابور هو عدد عمليات الإدخال/الإخراج المعلقة في طبقة مقاسة. عمق الطابور يتحكم في طلبات الإدخال/الإخراج المعلقة، بينما حجم الكتلة يحدد الحمولة المنقولة بكل طلب.
اختبار QD1 يرسل عملية واحدة وينتظر إتمامها قبل إصدار العملية التالية. اختبار QD32 يسمح للعديد من العمليات بالانتظار أو التنفيذ بالتوازي، مما يمنح القرص، وحدة التحكم، المصفوفة، والشبكة فرصًا أكبر لتداخل العمل.
توجد هذه القيم في عدة طبقات. يمكن لطابور مؤشر الاختبار، طابور الكتل في نظام التشغيل، HBA، طابور تقديم NVMe، أرصدة بروتوكول NAS، والأقراص الفردية أن ترى أعدادًا مختلفة من الطلبات المعلقة.
لماذا يكشف QD1 عن زمن خدمة التخزين؟
مع وجود طلب واحد معلق، لا يمكن للعملية التالية أن تختبئ خلف العمل المتوازي، لذا يكشف QD1 عن زمن خدمة الطلب الفردي. النتيجة تشمل زمن خدمة الجهاز بالإضافة إلى البروتوكول، نظام الملفات، وحدة التحكم، الشبكة، وحمولة العميل.
لذلك، يكون QD1 مفيدًا للمهام التي تواجه المستخدم والتي تصدر طلب قراءة واحد أو عدد قليل من الطلبات المعتمدة: فتح بيانات وصفية، تحميل صفحة قاعدة بيانات، قراءة صورة مصغرة، أو تتبع مؤشر إلى الهيكل التالي.
هذا ليس اختبار سعة كامل. قد يدعم SSD حديث أو مصفوفة مخططة عملًا متوازيًا أكثر بكثير مما يوفره QD1، لذا يمكن أن تقلل النتيجة من تقدير الحد الأقصى لمجموع IOPS بينما تمثل بدقة استجابة الطلب الفردي.
لماذا يمكن لزيادة عمق الطابور أن ترفع كل من IOPS والكمون معًا؟
يمكن للعمل المتراكم إبقاء قنوات التخزين مشغولة وزيادة العمليات المكتملة في الثانية، لكن زيادة عمق القائمة يمكن أن ترفع عدد عمليات الإدخال/الإخراج في الثانية وزمن التأخير معًا. قد يقضي كل طلب وقتًا أطول في الانتظار قبل الخدمة.
يبلغ المعيار عن المزيد من الإكمالات الإجمالية لأن النظام يتداخل في العمل، وليس لأن كل طلب أصبح أسرع. بمجرد أن يصل الجهاز أو المصفوفة إلى طاقته الخدمية، فإن زيادة عمق القائمة تطيل في الغالب طابور الانتظار.
لهذا السبب، فإن عدد عمليات الإدخال/الإخراج في الثانية بعمق قائمة انتظار عالي وزمن الاستجابة التفاعلي المنخفض هما هدفان منفصلان. قد يستفيد خادم النسخ الاحتياطي أو مهمة التحليلات من التوازي العميق، بينما يهتم طلب التطبيق بزمن إكمال قراءة حرجة واحدة.
كيف يغير حجم الكتلة عدد عمليات الإدخال/الإخراج في الثانية، ومعدل النقل، ووقت الانتظار؟
عدد عمليات الإدخال/الإخراج في الثانية يحصي العمليات دون وصف عدد البايتات التي تنقلها كل عملية. حجم الكتلة يغير التوازن بين عدد عمليات الإدخال/الإخراج في الثانية ومعدل النقل. ألف قراءة بحجم 4 كيلوبايت تنقل بيانات أقل بكثير من ألف قراءة بحجم 128 كيلوبايت.
الكتل الصغيرة تبرز العبء الزائد لكل عملية وهي شائعة لصفحات قواعد البيانات، والبيانات الوصفية، وحالة التطبيق. الكتل الأكبر تحسن كفاءة النقل ومعدل النقل لكنها تحتل الجهاز، والشبكة، والمتحكم لعدد أكبر من البايتات لكل طلب.
يمكن أن تقلل الكتلة الأكبر من عدد عمليات الإدخال/الإخراج في الثانية المطلوبة لنطاق ترددي معين مع زيادة وقت خدمة كل عملية. التطبيقات المختلطة تحتاج إلى كلا البعدين لأن جهاز NAS قد يخدم قراءات بيانات وصفية صغيرة بجانب نقل وسائط كبيرة أو نسخ احتياطية.
لماذا تجعل الذاكرة المؤقتة والتوازي النتائج تبدو أفضل مما يشعر به التطبيقات؟
يمكن أن تهيمن نتائج المعيار على الذاكرة العشوائية، أو ذاكرة التخزين المؤقت للمتحكم، أو ذاكرة التخزين المؤقت للعميل، أو الوصول المتكرر إلى مجموعة عمل صغيرة. الذاكرة المؤقتة والتزامن يمكن أن يخفيان زمن تأخير القراءة الباردة.
يمكن لعاملين موازين الأداء توزيع الطلبات عبر الأقراص، وقنوات NAND، ونوى المعالج، وقنوات SMB، أو قوائم انتظار NVMe بشكل أكثر فعالية من خيط تطبيق واحد. يثبت الاختبار التوسع الإجمالي، وليس أن قراءة تطبيق باردة واحدة تحصل على نفس الفائدة.
استخدم مجموعة بيانات أكبر من التخزين المؤقت ذي الصلة عند اختبار وسائط التخزين، وقم بتشغيل اختبارات تخزين مؤقت دافئة منفصلة عندما يكون التخزين المؤقت للتطبيق جزءًا من التصميم الحقيقي. خلط الاثنين ينتج رقمًا غير واضح عن عنق الزجاجة.
كيف يجب أن يطابق اختبار القراءة العشوائية في NAS المنزلي أحجام العمل الحقيقية؟
يختلف المعيار المفيد في الأبعاد التي تختلف فيها التطبيقات الحقيقية. يجب أن تتطابق الاختبارات الواقعية مع عمق طابور العمل بدلاً من الإبلاغ عن قيمة واحدة قصوى لعمليات الإدخال/الإخراج.
اختبر QD1 وبعض الأعماق المتوسطة، شمل قراءات صغيرة 4K أو 8K والكتل الأكبر المستخدمة من قبل أدوات الوسائط أو النسخ الاحتياطي، وسجل متوسط الزمن بالإضافة إلى p95 وp99 والحد الأقصى للزمن. حافظ على ثبات العميل والبروتوكول والتشفير ومجموعة البيانات عند مقارنة تغييرات التخزين.
قم بتشغيل اختبار القراءة العشوائية بمفرده وبجانب أحمال العمل الخلفية التي تشارك NAS فعليًا. يمكن للمعيار المعزول قياس مسار التخزين بوضوح، لكنه لا يكشف عن زمن الاستجابة الذي يختبره المستخدمون أثناء التطبيق أو النسخ الاحتياطي أو الفهرسة أو التنافس على التماثل.
| شكل الاختبار | ما يركز عليه | سوء الفهم الشائع |
|---|---|---|
| 4K QD1 | زمن استجابة قراءة صغيرة واحدة | افتراض أنه يظهر أقصى عمليات إدخال/إخراج للجهاز |
| 4K عمق طابور عالي | قدرة الإدخال/الإخراج الصغيرة المتوازية | افتراض أن كل طلب له زمن استجابة منخفض |
| 128K عمق طابور منخفض | كفاءة الطلبات الكبيرة | مقارنة عمليات الإدخال/الإخراج مباشرة مع 4K |
| القراءات العشوائية المخزنة مؤقتًا | أداء الذاكرة ومسار البرمجيات | نسبة النتيجة إلى وسائط التخزين |
الأسئلة الشائعة
هل عمق الطابور الأعلى دائمًا أفضل؟
لا. يمكن أن يحسن معدل النقل الإجمالي حتى يتم تشبع مسار التخزين، لكن الطلبات قد تنتظر لفترة أطول وقد يزداد زمن الاستجابة التفاعلي سوءًا.
لماذا يتم الإبلاغ عادة عن أرقام القراءة العشوائية 4K؟
الكتل الصغيرة تشبه صفحات قاعدة البيانات، والبيانات الوصفية، وحالة التطبيق، وتكشف عن الحمل الزائد لكل عملية الذي تخفيه عمليات النقل التسلسلي الكبيرة.
هل يجب أن يستخدم معيار NAS عمق طابور QD32؟
فقط عندما يمكن لحجم العمل المتوقع أن يخلق هذا القدر من عمليات الإدخال/الإخراج المتوازية. شمل QD1 وعمق متوسط لتطبيقات خادم المنزل التفاعلية.
هل يمكن أن تهيمن زمن تأخير الشبكة على اختبار القراءة العشوائية؟
نعم. يمكن لرحلات SMB أو NFS، ومعالجة العميل، والتشفير، وطوابير المحول أن تتجاوز وقت خدمة الجهاز، خاصة عند عمق طابور منخفض.
النتيجة النهائية
يحدد عمق الطابور مقدار عمليات الإدخال/الإخراج التي يمكن أن تنتظر أو تنفذ بالتوازي، بينما يحدد حجم الكتلة مقدار البيانات التي تنقلها كل عملية. يمكن لعمق الطابور الأعلى أن يزيد من إجمالي عمليات الإدخال/الإخراج في الثانية مع زيادة زمن الاستجابة لكل طلب، ويمكن للكتل الأكبر تحسين معدل النقل مع تقليل عدد العمليات. معيار NAS المنزلي المفيد يطابق التزامن الحقيقي، وأحجام البيانات، وحالة التخزين المؤقت، ومتطلبات زمن الاستجابة النهائي بدلاً من اختيار أكبر رقم رئيسي.
مركز التكنولوجيا والذكاء الاصطناعي
المزيد للقراءة

الحالة أثناء التشغيل مقابل الحالة المستمرة في Home Assistant: ما الذي يجب أن يبقى بعد إعادة التشغيل؟
لا يحتفظ Home Assistant بكل قيمة مباشرة؛ إذ تؤدي الإعدادات والسجلات والحالات المحددة المستعادة وبيانات النشر أدوارًا مختلفة عند إعادة التشغيل.

كيف يُجري Home Assistant مصادقة الجلسات المحلية وعن بُعد؟
تستخدم جلسات Home Assistant المحلية وعن بُعد نموذج الهوية نفسه من جهة الخادم؛ إذ يغيّر الوصول عن بُعد المسار وحدود TLS، وليس تدفق الرموز...

لماذا قد تصبح استعلامات سجل Home Assistant بطيئة مع نمو بيانات المسجّل؟
يمكن أن يؤدي نمو بيانات Recorder إلى زيادة تكلفة استعلامات History عندما يشمل النطاق المطلوب عددًا أكبر من الصفوف، أو تزداد حالات فقدان ذاكرة...

