محتويات الدورة

أداء لينكس / الأساسي: القياس وإشارات الموارد / الدرس 5

فصل كمون التخزين عن استخدامه

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

وقت القراءة التقريبي: 3 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • رسم مسار التخزين وطبقة القياس.
  • تمييز عرض النطاق والعمليات والعمق وزمن الاستجابة.
  • تفسير عدادات الجهاز دون عتبات تشبع عامة.

قد يعبر الملف طبقات تخزين متعددة

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

تجيب المعدلات والحجم والكمون أسئلة مختلفة

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

bash رسم المسار قبل قراءة فترات الأجهزة
findmnt --target /tmp
lsblk -o NAME,TYPE,SIZE,FSTYPE,MOUNTPOINTS
iostat -xz 1 5

هذه تشخيصات مختبر. تعتمد حقول iostat وسلوك أول تقرير على sysstat المثبت؛ استخدم الفترات وحدد الجهاز ولا تجمع كل الصفوف.

الانشغال ليس مقياس سعة عاماً

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

ليس اكتمال التخزين المؤقت ديمومة

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

bash قراءة الكتابة المنتظرة ومحاسبة الكتل
grep -E '^(Dirty|Writeback):' /proc/meminfo
cat /proc/diskstats

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

تحديد التأخير قبل اختيار العلاج

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

الأخطاء الشائعة وإصلاحها

مساواة انشغال 100% بتشبع عام

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

جمع حركة الأجهزة المتراكبة

لماذا يحدث؟
عُدت العمليات نفسها بطبقات متعددة.
كيف تصلحه؟
ارسم الحدود قبل التجميع.
كيف تتجنب تكراره؟
احفظ الطوبولوجيا مع كل تقرير.

مقارنة عمل مخبأ بعمل دائم

لماذا يحدث؟
تختلف عقود الإكمال.
كيف تصلحه؟
كرر بحالة مخبأ وديمومة متطابقتين.
كيف تتجنب تكراره؟
حدد متطلبات الاستمرار قبل القياس.

اختبر فهمك

1. تكتب خدمة 4KiB متزامنة بنطاق منخفض وكمون عال. هل النطاق وحده مهم؟

اعرض الحل المشروح

لا. قد تهيمن صغر العمليات والتسلسل والتفريغ والانتظار. قارن المعدل وكمون الديمومة والمسار تحت الحمل نفسه قبل افتراض ترقية النطاق.

2. يظهر مرور في قرص افتراضي وجهازه المنطقي الخلفي. هل تجمع البايتات؟

اعرض الحل المشروح

ليس دون حدود محاسبة؛ فقد تمثل البايتات نفسها مرتين. اختر الطبقة للسؤال وافحص التراكم لتجنب التكرار أو نسبة عمل المضيف والضيف خطأ.

أهم ما تعلمته

  • ارسم الطبقات واحفظ دلالة العمليات.
  • استخدم الكمون والطوابير والمعدلات والأخطاء معاً.

المراجع الرسمية