مراقبة الأداء — ما هي، المقاييس وجمع البيانات

المؤلف: IT Sectr نُشر: 2026-05-29 وقت القراءة: 8 دق

مراقبة الأداء هي عملية مستمرة لجمع وتحليل مقاييس أداء التطبيق لتحديد التباطؤ وتسرب الذاكرة والاستخدام غير الأمثل للموارد. وفقًا لـ Android Performance Guide, 2025، تتيح المراقبة اكتشاف انحرافات المقاييس في مرحلة مبكرة ومنع تدهور تجربة المستخدم قبل بدء الشكاوى الجماعية.

أهم النقاط

  • مراقبة الأداء — جمع وتحليل مقاييس وقت الاستجابة وFPS واستخدام CPU والذاكرة لتقييم جودة أداء التطبيق.
  • Real User Monitoring — جمع البيانات من أجهزة المستخدمين الحقيقية، مما يعكس التجربة الفعلية في ظروف الشبكة والأجهزة المختلفة.
  • ANR والانهيارات — مؤشرات حرجة تتطلب استجابة فورية وتحليل مكدس الاستدعاءات.
  • Firebase Performance Monitoring — أداة مجانية لجمع مقاييس الأداء على iOS وAndroid.
  • تتبع الأدوات — طريقة لقياس مدة أقسام معينة من التعليمات البرمجية باستخدام spans مخصصة.

ما هي مراقبة الأداء

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

وفقًا لـ Google (2024)، يغلق 53% من المستخدمين التطبيق إذا استغرق تحميله أكثر من 3 ثوانٍ. كل ثانية إضافية من التأخير تقلل التحويل بنسبة 20% في المتوسط عبر الفئات. هذا يجعل مراقبة الأداء ليست مجرد ممارسة تقنية بل ضرورة تجارية للمنتجات المحمولة.

تغطي مراقبة الأداء الحديثة أربعة مستويات: جانب العميل (iOS، Android)، الشبكة (طلبات API، WebSocket)، خدمات الخلفية والبنية التحتية. في تطوير التطبيقات المحمولة، ينصب التركيز على مقاييس جانب العميل، حيث أن معظم مشكلات الأداء تنشأ على جهاز المستخدم.

المقاييس الرئيسية للتطبيق المحمول

للحصول على مراقبة كاملة، يجب تتبع خمس مجموعات من المقاييس، كل منها مسؤولة عن جانب مختلف من تجربة المستخدم. FPS (إطار في الثانية) يظهر سلاسة الرسوم المتحركة والتمرير — القيم الأقل من 30 إطارًا في الثانية تُعتبر تباطؤًأ.

مقاييس الوقت

وقت بدء التشغيل البارد — من لحظة النقر على الأيقونة حتى اكتمال واجهة المستخدم. وقت بدء التشغيل الساخن — العودة من الخلفية. وقت الاستجابة لإجراء المستخدم (النقر للاستجابة). وقت بدء التشغيل لنظام Android يُقاس عبر ActivityManager، ولنظام iOS — عبر dyld ووقت premain. وفقًا لـ Firebase Performance، متوسط وقت بدء التشغيل البارد لأفضل 100 تطبيق هو 1.8 ثانية.

مقاييس الذاكرة وCPU

يجب ألا يتجاوز استهلاك RAM 80% من السعة المتاحة على الجهاز، وإلا سيبدأ النظام في تفريغ التطبيق من الخلفية. يتم تتبع بصمة الذاكرة عبر Xcode Instruments (iOS) وAndroid Profiler. يتم اكتشاف تسرب الذاكرة من خلال زيادة الاستهلاك أثناء العمليات المتكررة — على سبيل المثال، التنقل بين الشاشات.

مقاييس الشبكة

وقت تنفيذ طلب HTTP، حجم الاستجابة، معدل المهلات والأخطاء. زمن وصول الشبكة مهم بشكل خاص للتطبيقات المحمولة التي تعمل في ظروف اتصال غير مستقرة (3G، مترو، مصعد، تجوال). يوصى بتتبع وقت الاستجابة p95 — فهو يظهر تجربة المستخدمين الأكثر «ثقلًا» في أسوأ ظروف الشبكة.

المقياسطبيعيحرج
بدء التشغيل الباردحتى 2 ثأكثر من 4 ث
FPS55–60أقل من 30
استجابة APIحتى 500 ملليأكثر من 2 ث
استخدام الذاكرةحتى 200 ميجابايتأكثر من 400 ميجابايت
معدل ANRأقل من 0.1%أكثر من 0.5%

Real User Monitoring وSynthetic Monitoring

Real User Monitoring (RUM) يجمع البيانات من أجهزة المستخدمين الحقيقية في بيئة الإنتاج. تُظهر هذه الطريقة فترات التأخير الفعلية التي يعاني منها المستخدمون مع مراعاة أجهزتهم وإصدارات OS والشبكة والموقع الجغرافي. يوفر RUM الصورة الأكثر دقة للأداء ولكنه يعتمد على المستخدمين الذين شملتهم العينة.

Synthetic Monitoring، من ناحية أخرى، ينفذ سيناريوهات محددة مسبقًا على أجهزة اختبار في ظروف خاضعة للرقابة. يسمح باكتشاف التدهور قبل وصوله إلى المستخدمين وإعادة إنتاج المشكلات في بيئة متسقة. يوفر Firebase Test Lab وBrowserStack اختبارات تركيبية على أجهزة حقيقية دون تنفيذ يدوي.

الاستراتيجية المثلى هي مزيج من كلا النهجين: الاختبارات التركيبية تلتقط التدهور في مرحلة CI، بينما يوفر RUM الصورة الحقيقية في الإنتاج. وفقًا لـ Datadog (2024)، تكتشف الفرق التي تستخدم كلا الطريقتين 35% أكثر من مشكلات الأداء قبل أن تتحول إلى حوادث.

إعداد Firebase Performance Monitoring

Firebase Performance Monitoring هي أداة مجانية من Google لجمع مقاييس الأداء على iOS وAndroid. يقيس تلقائيًا وقت بدء تشغيل التطبيق وطلبات HTTP وعرض الشاشات دون كتابة تعليمات برمجية. للإعداد، ما عليك سوى إضافة SDK إلى مشروعك وتفعيل وحدة Performance في وحدة تحكم Firebase.

جمع المقاييس التلقائي

بعد دمج SDK، يقوم Firebase Performance تلقائيًا بإنشاء trace لكل طلب HTTP عبر URLSession (iOS) أو OkHttp (Android). يتم قياس عرض الشاشة لـ UIViewController وActivity، مع تسجيل الوقت من onCreate/viewDidLoad حتى اكتمال العرض الأول. يتم تجميع جميع المقاييس في وحدة تحكم Firebase، مقسمة حسب إصدار التطبيق والجهاز والدولة.

kotlin
import com.google.firebase.perf.FirebasePerformance
import com.google.firebase.perf.metrics.Trace

class PaymentService {
    private val firebasePerf = FirebasePerformance.getInstance()

    fun processPayment(amount: Double) {
        val trace = firebasePerf.newTrace("payment-flow")
        trace.start()
        trace.putAttribute("amount", amount.toString())
        // تنفيذ الدفع
        trace.stop()
    }
}

ينشئ الكود trace مخصصًا لسيناريو الدفع مع سمة المبلغ. باستخدام هذا التتبع في وحدة تحكم Firebase، يمكنك رؤية متوسط وقت تنفيذ الدفع و p95، مجمعة حسب إصدار التطبيق والجهاز.

مراقبة HTTP

يعترض Firebase تلقائيًا طلبات الشبكة ويسجل URL ورمز الاستجابة وحجم البيانات ووقت التنفيذ. بالنسبة لـ OkHttp على Android، تعمل الأدوات التلقائية دون تكوين إضافي. يتم عرض طلبات الشبكة في وحدة التحكم مجمعة حسب نقطة النهاية، مما يسمح بتحديد تباطؤ API معين بسرعة.

التتبعات المخصصة لمنطق الأعمال

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

يجب أن يكون لكل تتبع مخصص اسم ذو معنى بتنسيق «سيناريو-إجراء» ويحتوي على سمات للتصفية. على سبيل المثال، تتبع «image-upload» مع سمات «file_size» و«compression_quality» سيساعد في تحديد اعتماد وقت التحميل على حجم الصورة. يُوصى بعدم إنشاء أكثر من 20 تتبعًا مخصصًا لكل شاشة — فالأدوات المفرطة تخلق ضوضاء وتعقد التحليل.

swift
import FirebasePerformance

func trackImageUpload(data: Data) {
    let trace = Performance.startTrace(name: "image-upload")
    trace?.setValue(data.count, forAttribute: "file_size")
    trace?.setValue("high", forAttribute: "compression")
    // تحميل الصورة
    trace?.stop()
}

مثال Swift ينشئ تتبعًا لتحميل الصورة مع سمات حجم الملف ومستوى الضغط. في وحدة تحكم Firebase، تصبح هذه السمات حقولًا لتجميع وتصفية المقاييس.

عتبات التنبيه والتنبيهات

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

لمقاييس التطبيقات المحمولة، يوصى باستخدام عتبات ديناميكية قائمة على النسب المئوية: وقت بدء التشغيل البارد p95 يتجاوز 4 ثوانٍ — تنبيه حرج. العتبات الثابتة (مثل CPU > 90%) تعمل بشكل أسوأ لأنها لا تأخذ في الاعتبار التقلبات الطبيعية في الحمل حسب الوقت من اليوم ويوم الأسبوع. Firebase Performance يدعم إعداد التنبيهات عبر Firebase Console مع إرسال إشعارات إلى Slack وPagerDuty والبريد الإلكتروني، مع خيارات التصعيد في حالة عدم التأكيد.

وفقًا لاستطلاع إدارة الحوادث (2024)، الفرق التي تضبط التنبيهات بناءً على النسب المئوية بدلاً من المتوسطات تفوّت 45% أقل من الحوادث. المتوسط يخفف القيم المتطرفة — p95 يضمن إظهار أسوأ سيناريو للمستخدمين، بغض النظر عن الوقت من اليوم والتقلبات الموسمية في الحمل.

الأسئلة الشائعة

ما الأدوات التي يجب استخدامها لمراقبة أداء التطبيقات المحمولة؟

الأدوات الرئيسية: Firebase Performance Monitoring (مجاني، وظائف أساسية)، Dynatrace (RUM للمؤسسات)، New Relic Mobile، Datadog RUM وInstabug (متخصص في التطبيقات المحمولة). يعتمد الاختيار على الميزانية وعمق التحليل المطلوب.

كم مرة يجب التحقق من مقاييس الأداء؟

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

ما هي الحدود الدنيا للمقاييس المطلوبة للإنتاج؟

الحد الأدنى: وقت بدء التشغيل البارد، FPS، معدل ANR (Android) أو إنهاءات المراقب (iOS)، معدل خطأ HTTP واستخدام الذاكرة. هذا يكفي لاكتشاف 80% من مشكلات الأداء في مشروع محمول نموذجي. مع نمو التطبيق، تضاف مقاييس للشاشات المحددة وسيناريوهات الأعمال لتشخيص أكثر دقة.

هل تزيد مراقبة الأداء من حجم التطبيق؟

نعم، تضيف SDKs مراقبة الأداء 1–3 ميجابايت إلى حجم التطبيق حسب الأداة. يضيف Firebase Performance Monitoring حوالي 1.2 ميجابايت. يوصى بتضمين SDK فقط في إصدارات الاختبار والإنتاج، مع استبعاده من إصدارات التصحيح.

كيف نميز مشكلة في العميل عن مشكلة في الخادم؟

إذا كان وقت انتظار استجابة API مرتفعًا ولكن مقاييس الخادم طبيعية — المشكلة في جانب العميل (شبكة الجهاز، DNS، مصافحة TLS). إذا أظهر الخادم حملاً عاليًا أو استعلامات قاعدة بيانات بطيئة — المشكلة في الخادم الخلفي. التتبع الموزع يعطي إجابة قاطعة من خلال ربط طلب العميل بمعالجة الخادم.

الملخص

  • مراقبة الأداء — جمع مستمر لمقاييس وقت الاستجابة وFPS والذاكرة وCPU لاكتشاف تدهور التطبيق في المراحل المبكرة.
  • Real User Monitoring يجمع البيانات من أجهزة المستخدمين الحقيقية ويوفر الصورة الأكثر دقة لتجربة الإنتاج.
  • Synthetic Monitoring يكمل RUM باختبارات خاضعة للرقابة في مرحلة CI لتحديد التدهور قبل الإصدار.
  • Firebase Performance Monitoring — أداة مجانية مع جمع تلقائي لمقاييس HTTP ووقت بدء التشغيل وعرض الشاشات.
  • التتبعات المخصصة ضرورية لقياس سيناريوهات الأعمال — المدفوعات، تحميل المحتوى، المصادقة.
  • التنبيهات يجب أن تستخدم عتبات ديناميكية قائمة على النسب المئوية (p95) بدلاً من القيم المتوسطة.
  • مزيج RUM والاختبارات التركيبية والتتبع الموزع يغطي 95% من سيناريوهات تدهور أداء التطبيقات المحمولة.

سنقوم بتطوير تطبيق جوال جاهز

تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.

مناقشة المشروع

اقرأ أيضًا