المراقبة

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

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

تحديد مقاييس وقت الاستجابة

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

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

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

تحديد مقاييس معدل النقل

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

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

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

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

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

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

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

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

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

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

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

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

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

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

راجِع دليل التسجيل للاطّلاع على مثال على اعتراض تسجيل 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، يُرجى اتّباع دليل التنبيهات بشأن المقاييس المستندة إلى السجلّات.