أفضل ممارسات الإدخال/الإخراج المباشرة ل Linux لملفات Azure NetApp

تساعدك هذه المقالة على فهم أفضل ممارسات الإدخال/الإخراج المباشرة لملفات Azure NetApp.

الإدخال/الإخراج المباشر

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

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

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

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

فيما يلي بعض قواعد البيانات التي تدعم الإدخال/الإخراج المباشر:

  • Oracle
  • SAP HANA
  • MySQL (محرك تخزين InnoDB)
  • RocksDB
  • PostgreSQL
  • Teradata

أفضل الممارسات

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

الخطوات التالية