المراقبة

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

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

تحديد مقاييس المدة الزمنية

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

تشمل المقاييس المقترَحة التي يجب تتبُّعها ما يلي:

  • مدة الطلب
  • مدة الطلب بدقة النظام الفرعي (مثل طلبات بيانات من واجهة برمجة التطبيقات)
  • مدة المهمة

تحديد مقاييس الإنتاجية

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

في ما يلي بعض المقاييس المقترَحة التي يجب تتبُّعها:

  • الطلبات لكل ثانية
  • حجم البيانات المنقولة في الثانية
  • عدد عمليات الإدخال/الإخراج في الثانية
  • استخدام الموارد، مثل وحدة المعالجة المركزية (CPU) أو استخدام الذاكرة
  • حجم قائمة الانتظار للمعالجة، مثل Pub/Sub أو عدد سلاسل التعليمات

ليس المتوسط فقط

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

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

المراقبة من جهة الخادم للحصول على نتائج تفصيلية

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

مراقبة المتصفّح للحصول على رؤية شاملة

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

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

  • أوقات تحميل الصفحة
  • أوقات تحميل عمليات إعادة التوجيه
  • أوقات استجابة الخادم

المراقبة في السحابة الإلكترونية

هناك العديد من الأدوات التي يمكنك استخدامها لرصد مقاييس الأداء ومراقبتها لتطبيقك. على سبيل المثال، يمكنك استخدام Google Cloud Logging لتسجيل مقاييس الأداء في مشروعك على Google Cloud، ثم إعداد لوحات بيانات في Google Cloud Monitoring لمراقبة المقاييس المسجّلة وتقسيمها.

راجِع دليل Logging للحصول على مثال على أداة اعتراض تسجيل gRPC مخصّصة مكتوبة لمكتبة برامج Python. في هذا المثال، تستدعي أداة الاعتراض logger.log_struct() لإرسال قاموس Python لبيانات السجلّ المنظّمة إلى Cloud Logging، التي تخزّنها Cloud Logging في حقل jsonPayload لإدخال في السجلّ:

logger.log_struct({
    "method": method_name,
    "elapsed_ms": elapsed_milliseconds,
    "is_fault": is_fault,
})

باستخدام هذه البيانات المتوفّرة في Google Cloud، يمكنك إنشاء مقاييس استنادًا إلى البيانات المسجّلة للحصول على رؤية حول تطبيقك من خلال Google Cloud Monitoring. اتّبِع دليل المقاييس المستندة إلى السجلّ التي يحدّدها المستخدم لإنشاء مقاييس باستخدام السجلّات المرسَلة إلى Google Cloud Logging.

بدلاً من ذلك، يمكنك استخدام مكتبات عملاء Cloud Monitoring لتحديد المقاييس في الرمز وإرسالها مباشرةً إلى Monitoring، بشكل منفصل عن السجلّات.

مثال على المقاييس المستندة إلى السجلّ

لنفترض أنّك تريد مراقبة القيمة is_fault لفهم معدلات الخطأ في تطبيقك بشكل أفضل. بما أنّ logger.log_struct() تكتب حقول القاموس المنظّمة ضمن jsonPayload في كل إدخال في السجلّ في Cloud Logging، يمكنك إنشاء مقياس عدّاد باسم ErrorCount باستخدام فلتر يطابق الطلبات التي تعذّر تنفيذها، مثل jsonPayload.is_fault = true.

في Cloud Logging، تتيح لك التصنيفات تجميع مقاييسك في فئات استنادًا إلى بيانات أخرى في السجلّات. يمكنك ضبط تصنيف STRING باسم Method على الحقل jsonPayload.method الذي يتم إرساله إلى Cloud Logging لتقسيم عدد الأخطاء حسب طريقة Google Ads API.

بعد ضبط المقياس ErrorCount والتصنيف Method، يمكنك إنشاء رسم بياني جديد في Cloud Monitoring لمراقبة ErrorCount، مجمّعة حسب Method.

التنبيهات

من الممكن في Cloud Monitoring وفي الأدوات الأخرى ضبط سياسات التنبيه التي تحدّد متى وكيف يجب أن يتم تفعيل التنبيهات من خلال مقاييسك. للحصول على تعليمات حول إعداد تنبيهات Cloud Monitoring، اتّبِع دليل التنبيهات بشأن المقاييس المستندة إلى السجلّ.