كفاءة الأداء

مكتمل

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

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

ما هي كفاءة الأداء؟

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

دعونا ننظر إلى بعض الأنماط والممارسات التي يمكن أن تعزز قابلية التوسع والأداء للتطبيق الخاص بك.

زيادة الحجم وتوسيع النطاق

يمكن قياس موارد الحوسبة في اتجاهين:

  • يؤدي التوسع إلى إضافة المزيد من الموارد إلى مثيل واحد. يعرف أيضا باسم التحجيم العمودي.

    An illustration that shows scaling up by adding resources to a virtual machine.

  • التوسع هو إضافة المزيد من المثيلات. يعرف أيضا باسم التحجيم الأفقي.

    An illustration that shows scaling out by adding instances to increase performance.

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

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

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

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

في كلا النوعين من القياس، يمكن تقليل الموارد، ما يؤدي إلى تحسين التكلفة في الصورة.

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

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

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

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

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

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

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

استخدم التخزين المؤقت في البنية الخاصة بك للمساعدة في تحسين الأداء. التخزين المؤقت هو آلية لتخزين البيانات أو الأصول المستخدمة بشكل متكرر (صفحات الويب والصور) لاسترجاع أسرع. يمكنك استخدام التخزين المؤقت في طبقات مختلفة من التطبيق الخاص بك. يمكنك استخدام التخزين المؤقت بين خوادم التطبيق وقاعدة البيانات لتقليل أوقات استرجاع البيانات.

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

حدد معوقات الأداء في تطبيقك

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

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

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

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

‏‫اختبر معلوماتك

1.

أي مما يلي يُعد مثالاً على زيادة الحجم (زيادة الحجم رأسيًا)؟

2.

أي مما يلي يعتبر مثالاً على التوسع (زيادة الحجم أفقيًا)؟