تحسين الأداء

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

يتم ضبط النظام بشكل منهجي باتباع الخطوات التالية:

  1. قم بتقييم المشكلة وتحديد القيم العددية التي تصنف السلوك المقبول.
  2. قم بقياس أداء النظام قبل إجراء أي تعديلات.
  3. حدد الجزء من النظام الذي يُعدّ بالغ الأهمية لتحسين الأداء. وهذا ما يُسمى عنق الزجاجة .
  4. قم بتعديل ذلك الجزء من النظام لإزالة نقطة الاختناق.
  5. قم بقياس أداء النظام بعد التعديل.
  6. إذا أدى التعديل إلى تحسين الأداء، فاعتمده. أما إذا أدى إلى تدهوره، فأعده إلى وضعه السابق.

هذا مثال على دورة القياس والتقييم والتحسين والتعلم من ضمان الجودة .

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

تُستخدم مجموعة من التقنيات لتحسين الأداء. من بينها تحسين الكود، وموازنة الأحمال، واستراتيجية التخزين المؤقت، والحوسبة الموزعة، والضبط الذاتي.

تحليل الأداء

اطلع على المقال الرئيسي في تحليل الأداء

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

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

هندسة الأداء

اطلع على المقال الرئيسي في هندسة الأداء

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

تم تحديد العديد من الأنشطة المشتركة في منهجيات مختلفة:

  • تحديد العمليات التجارية الهامة .
  • شرح العمليات في حالات الاستخدام وحجم النظام.
  • بناء النظام، بما في ذلك ضبط الأداء.
  • نشر النظام المُنشأ.
  • إدارة الخدمة، بما في ذلك الأنشطة التي يتم تنفيذها بعد نشر النظام.

تحسين الكود

انظر المقال الرئيسي في قسم التحسين (علوم الحاسوب) .

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

تحسين التكوين

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

استراتيجية التخزين المؤقت

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

موازنة الأحمال

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

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

الحوسبة الموزعة

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

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

ضبط ذاتي

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

الاختناقات

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

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

انظر أيضاً

مراجع