البحث عن مشكلات الأداء وتشخيصها باستخدام Application Insights

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

ستتعلم كيفية:

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

المتطلبات الأساسية

لإكمال هذا البرنامج التعليمي:

  • قم بتثبيت Visual Studio 2019 بأحمال العمل التالية:
    • ASP.NET وتطوير الويب
    • تطوير Azure
  • نشر تطبيق .NET إلى Azure وتمكين Application Insights SDK
  • قم بتمكين ملف تعريف Application Insights لتطبيقك.

تسجيل الدخول إلى Azure

سجل الدخول إلى مدخل Azure.

معرفة البطء في عمليات الخادم

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

  1. حدد Application Insights ثم حدد اشتراكك.

  2. لفتح لوحة Performance ، حدد Performance ضمن قائمة Investigate أو حدد الرسم البياني لوقت استجابة الخادم .

    لقطة شاشة تعرض طريقة عرض الأداء.

  3. تعرض شاشة Performance عدد ومتوسط مدة كل عملية للتطبيق. يمكنك استخدام هذه المعلومات لتحديد تلك العمليات التي تؤثر على المستخدمين أكثر من غيرها. من المحتمل أن يكون كل من GET Customers/Details وGET Home/Index مرشحين للتحقيق نظراً لارتفاع مدة المكالمات وعددها في هذا المثال. قد يكون للعمليات الأخرى مدة أعلى ولكن نادرا ما يتم استدعاؤها، لذلك سيكون تأثير تحسينها ضئيلا.

    لقطة شاشة تعرض لوحة خادم الأداء.

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

    لقطة شاشة تعرض عمليات التثبيت.

  5. تعرض لوحة الأداء الموجودة على اليمين توزيع المدد لطلبات مختلفة للعملية المختارة. قم بتصغير النافذة للبدء حتى النسبة المئوية التي تقارب 95%. يمكن أن تخبرك بطاقة Top 3 Dependencies insights في لمحة أن التبعيات الخارجية من المحتمل أن تساهم في المعاملات البطيئة. حدد الزر الذي يحتوي على عدد العينات لمشاهدة قائمة بالعينات. ثم حدد أي عينة لمشاهدة تفاصيل المعاملة.

  6. يمكنك أن ترى في لمحة أن استدعاء جدول Azure Fabrikamaccount يساهم بشكل أكبر في المدة الإجمالية للمعاملة. ويمكنك أيضاً إدراك أن السبب في الفشل ناتج عن الاستثناء. حدد أي عنصر في القائمة للاطلاع على تفاصيله على الجانب الأيسر.

    لقطة شاشة تعرض تفاصيل العملية من طرف إلى طرف.

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

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

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

    لقطة شاشة تعرض تفاصيل محلل ملفات التعريف.

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

    لقطة شاشة تعرض تلميح الأداء.

  11. لمزيد من التحليل، حدد Download Trace لتنزيل التتبع. يمكنك عرض هذه البيانات باستخدام PerfView.

استخدام بيانات سجلات الخادم

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

  1. ارجع إلى لوحة تفاصيل العملية وحدد أيقونة السجلاتView in Logs (Analytics).

  2. تفتح شاشة Logs مع استعلام لكل طريقة عرض في اللوحة. ويمكنك تشغيل هذه الاستعلامات على حالتها أو تعديلها لتتوافق مع متطلباتك. ويعرض الاستعلام الأول مدة هذه العملية بمرور الوقت.

    لقطة شاشة تعرض استعلام سجلات.

تحديد البطء المنطوي على عمليات العملاء

فضلاً إلى تحديد عمليات الخادم لتحسينها، يمكن لـ Application Insights تحليل منظور متصفحات العميل. يمكن أن تساعدك هذه المعلومات في تحديد التحسينات المحتملة لمكونات العميل وحتى تحديد المشكلات المتعلقة بالمستعرضات المختلفة أو المواقع المختلفة.

  1. حدد Browser ضمن Investigate ثم حدد Browser Performance. بدلا من ذلك، حدد Performance ضمن Investigate والتبديل إلى علامة التبويب Browser عن طريق تحديد زر تبديل Server/Browser في الزاوية العلوية اليسرى لفتح ملخص أداء المستعرض. توفر طريقة العرض هذه ملخصا مرئيا لمختلف القياسات عن بعد لتطبيقك من منظور المستعرض.

    لقطة شاشة تعرض ملخص المستعرض.

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

    لقطة شاشة تعرض خصائص طريقة عرض الصفحة.

استخدام بيانات سجلات العملاء

مثل البيانات التي تم جمعها لأداء الخادم، يجعل Application Insights جميع بيانات العميل متاحة للتحليل العميق باستخدام السجلات.

  1. ارجع إلى ملخص المستعرض وحدد أيقونة السجلاتView in Logs (Analytics).

  2. تفتح شاشة Logs مع استعلام لكل طريقة عرض في اللوحة. ويظهر الاستعلام الأول مدة طرق عرض الصفحات المختلفة بمرور الوقت.

    لقطة شاشة تعرض شاشة السجلات.