10ديسمبر

سلسلة مراقبة أداء أنظمة لينكس 3: أداة iostat

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

أداة iostat قد لا تأتي مثبتة على نظامك. قم بتثبيت حزمة sysstat للحصول عليها (شكرًا حسين على التنبيه)
وتستطيع تشغيلها عن طريق الأمر:

# iostat

للحصول على معلومات أكثر، سنستخدم الأمر مع هذه الخصائص:

# iostat -xm 5 2

شرح الأمر:

  • iostat: اسم الأداة
  • -x: عرض النتائج بالتفصيل (Expaneded)
  • -m: عرض الوحدة بالميقابايت، وتستطيع استبدالها بـk للكيلوبايت
  • 5: القيام بتشغيل الأداة كل 5 ثواني
  • 2: تشغيل الأداة مرتين فقط

فبالتالي سنحصل على عينتين نستطيع المقارنة بينهما، مثال على النتيجة:

avg-cpu: %user %nice %system %iowait %steal %idle
2.38 0.02 0.62 0.02 0.02 96.94

Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util
xvda 0.00 5.16 3.76 19.58 0.11 0.40 44.89 0.03 1.34 0.11 0.26

avg-cpu: %user %nice %system %iowait %steal %idle
0.30 0.00 0.13 0.00 0.03 99.53

Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util
xvda 0.00 3.39 0.00 5.39 0.00 0.03 13.04 0.00 0.00 0.00 0.00


شرح أهم المعلومات في النتيجة التي حصلنا عليها:

avg-cpu: %user %nice %system %iowait %steal %idle

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

Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util
xvda 0.00 5.16 3.76 19.58 0.11 0.40 44.89 0.03 1.34 0.11 0.26

شرح المعلومات:

  • Device: وسط التخزين الذي تتبع له الاحصائيات، وإن كانت لديك العديد منها فيمكنك تحديد ماتشاء بإضافة -d ثم ماتريد مثل /dev/sdb
  • rrqm/s: معدل عدد طلبات القراءة التي تم وضعها في قائمة الإنتظار في الثانية.
  • wrqm/s: معدل عدد طلبات الكتابة التي تم وضعها في قائمة الإنتظار في الثانية.
  • r/s: معدل عدد طلبات القراءة التي تم تنفيذها في الثانية.
  • w/s: معدل عدد طلبات الكتابة التي تم تنفيذها في الثانية.
  • rMB/s: معدل حجم البيانات التي تمت قراءتها بالميقابايت في الثانية
  • wMB/s:معدل حجم البيانات التي تمت كتابتها بالميقابايت في الثانية
  • await: معدل الوقت الذي تأخذه الطلبات حتى يتم تنفيذها، وهو يشمل الوقت الذي أمضته العملية في الإنتظار حتى يتم تنفيذها بالإضافة إلى الوقت الفعلي الذي تم تنفيذ العملية فيه (الوحدة: ملي ثانية).
  • svctm: معدل الوقت الذي تأخذه الطلبات فعليًا أثناء تنفيذها (الوحدة: ملي ثانية).
  • %util: نسبة الوقت الذي أمضاه المعالج في تنفيذ الطلبات مقارنة بكونه خامل.

كيف نستفيد من هذه المعلومات:

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

  • إرتفاع معدل الطلبات التي توضع في الإنتظار (rrqm و wrqm) بشكل مستمر وزيادة الرقم باستمرار ستضع السيرفر في حالة إختناق، ومن خلالها تستطيع معرفة إذا ماكنت تتعرض إلى محاولة هجوم موزع Distributed Denial of Service (DDOS(.
  • معدل الطلبات التي توضع في الانتظار يجب أن يكون أقل من معدل الطلبات التي يتم تنفيذها.
  • يجب أن يكون معدل الوقت التي تأخذه الطلبات أثناء تنفيذها svctm أقل أو يساوي أو أكثر بقليل من معدل الوقت التي تأخذه أثناء إنتظار التنفيذ await قدر الإمكان كون الثاني يتضمن قيمة الأول
  • يجب أن لا ترتفع قيمة استهلاك المعالج %util لفترات طويلة خصوصًا عند تجاوزها 80%
شارك التدوينة !

3 تعليقات

  1. شكرا أمين
    لاحطت ان أداة iostat غير مثبتة تلقايا في نظام تشغيل Ubuntu.
    sudo apt-get install sysstat
    يكون الحل.

اضف رد

لن يتم نشر البريد الإلكتروني . الحقول المطلوبة مشار لها بـ *

*

كُتِبَتْ بِحُب ♥