X
X

IRQ Affinity: كيف توزع مقاطعات الأجهزة على أنوية المعالج لتحسين الأداء؟

الصفحة الرئيسيةمقالاتIRQ Affinity: كيف توزع مقاطعات الأجهزة على أنو...

IRQ Affinity: كيف توزع مقاطعات الأجهزة على أنوية المعالج لتحسين الأداء؟

مقدمة

كل بطاقة شبكة، أو قرص تخزين، أو جهاز متصل بالخادم يعتمد على Interrupt Requests (IRQs) لإبلاغ المعالج بوجود حدث يحتاج إلى معالجة.

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

لهذا يوفر Linux ميزة IRQ Affinity، التي تسمح بتوزيع المقاطعات على أكثر من نواة لتحسين الأداء.

ما هو IRQ Affinity؟

IRQ Affinity هو إعداد في Linux يحدد النواة أو مجموعة الأنوية التي ستتولى معالجة مقاطعات جهاز معين.

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

كيف يعمل؟

  1. يرسل الجهاز Interrupt إلى المعالج.
  2. يحدد Kernel النواة المسؤولة عن معالجته.
  3. يمكن للمسؤول تغيير هذا التوزيع وربط مقاطعات معينة بأنوية محددة.
  4. يؤدي ذلك إلى تقليل الازدحام وتحسين الأداء.

فوائد IRQ Affinity

تحسين أداء الشبكات

تقليل الضغط على نواة واحدة.

تقليل زمن الاستجابة

خصوصًا في التطبيقات الحساسة مثل قواعد البيانات.

استغلال أفضل للأنوية

توزيع الحمل بالتساوي بين المعالجات.

تحسين أداء التخزين

مع أجهزة NVMe ووحدات التخزين السريعة.

أين يستخدم؟

  • خوادم الويب.
  • قواعد البيانات.
  • Kubernetes.
  • KVM.
  • خوادم الألعاب.
  • أنظمة التخزين.

كيف تراقبه؟

يمكن مراجعة توزيع المقاطعات باستخدام:

cat /proc/interrupts

ولعرض إعدادات التوزيع الحالية يمكن استخدام ملفات النظام داخل:

/proc/irq/

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

  • توزيع IRQs على الأنوية المختلفة.
  • الجمع بين IRQ Affinity وRSS للحصول على أفضل أداء للشبكات.
  • مراقبة التغييرات بعد أي تعديل.

FAQ

هل جميع الأجهزة تستفيد من IRQ Affinity؟

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

هل التوزيع الخاطئ قد يضر بالأداء؟

نعم، لذلك يجب اختباره ومراقبته قبل تطبيقه في بيئة الإنتاج.

الخلاصة

يساعد IRQ Affinity على توزيع معالجة المقاطعات بين أنوية المعالج، مما يقلل الاختناقات ويحسن أداء الخوادم، خاصة في البيئات ذات الأحمال العالية.


Top