تتبع الأخطاء باستخدام الرسم التخطيطي للوظيفة الفعلية (معاينة) في مدخل Microsoft Azure

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

توضح هذه المقالة كيفية استخدام الرسم التخطيطي للوظيفة الفعلية لتحليل أداء الوظيفة وتحديد ازدحامها بسرعة في مدخل Microsoft Azure.

هام

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

تحديد توازي الوظيفة

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

لقطة شاشة تعرض المهمة غير المتوازية في الرسم التخطيطي الفعلي.

قد تفكر في تحسينها إلى مهمة متوازية (على سبيل المثال أدناه) عن طريق إعادة كتابة الاستعلام أو تحديث تكوينات الإدخال/الإخراج باستخدام محاكي الرسم التخطيطي للمهمة داخل ملحق Visual Studio Code ASA أو محرر الاستعلام في مدخل Microsoft Azure. لمعرفة المزيد، راجع تحسين الاستعلام باستخدام محاكي الرسم التخطيطي للوظيفة (معاينة).

لقطة شاشة تعرض طريقة عرض انحراف البيانات مع رسم تخطيطي فعلي.

المقاييس الرئيسية لتحديد ازدحام وظيفة موازية

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

يوضح الرسم التخطيطي للوظيفة الفعلية هذه المقاييس الرئيسية في الرسم التخطيطي معا لتوفير صورة كاملة لها لتحديد الازدحام بسهولة.

لقطة شاشة تعرض المقاييس الرئيسية على عقدة في الرسم التخطيطي الفعلي.

لمزيد من المعلومات حول تعريف المقاييس، راجع بعد اسم عقدة Azure Stream Analytics.

تحديد أحداث الإدخال الموزعة غير المتساوية (انحراف البيانات)

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

للعثور على السبب الجذري، يمكنك فتح الرسم التخطيطي للمهمة الفعلية في مدخل Microsoft Azure. حدد الرسم التخطيطي للوظيفة (معاينة) ضمن المراقبة، والتبديل إلى الرسم التخطيطي الفعلي.

لقطة شاشة تعرض طريقة عرض انحراف البيانات مع رسم تخطيطي فعلي.

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

لقطة شاشة تعرض إعداد خريطة التمثيل اللوني لتأخير العلامة المائية.

بعد تطبيق إعدادات خريطة التمثيل اللوني التي أجريتها أعلاه، ستحصل على عقد الدفق مع تأخير العلامة المائية العالي في الزاوية العلوية اليمنى. ثم يمكنك التحقق مما إذا كانت عقد الدفق المقابلة لها أحداث إدخال أكثر بكثير من غيرها. على سبيل المثال، تواجه streamingnode#0 وd streamingnode#1 المزيد من أحداث الإدخال.

لقطة شاشة تعرض طريقة عرض انحراف البيانات مع رسم تخطيطي فعلي في خريطة التمثيل اللوني لتأخير العلامة المائية.

يمكنك التحقق من عدد الأقسام المخصصة لعقد الدفق بشكل فردي لمعرفة ما إذا كان سبب المزيد من أحداث الإدخال هو المزيد من الأقسام المخصصة أو أي قسم معين يحتوي على المزيد من أحداث الإدخال. على سبيل المثال، تحتوي جميع عقد الدفق على قسمين. وهذا يعني أن streamingnode#0 وd streamingnode#1 لديهم قسم معين يحتوي على أحداث إدخال أكثر من الأقسام الأخرى.

لتحديد أي قسم يحتوي على أحداث إدخال أكثر من الأقسام الأخرى في streamingnode#0 وd streamingnode#1، قم بالخطوات التالية:

  • تحديد إضافة مخطط في قسم المخطط
  • إضافة أحداث الإدخال إلى المتري ومعرف القسم إلى مقسم
  • حدد تطبيق لإظهار مخطط أحداث الإدخال
  • دفق التجزئة #0 وd streamingnode#1 في الرسم التخطيطي

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

لقطة شاشة تعرض أحداث الإدخال مقسمة حسب القسم والعقدة.

ما هو الإجراء الإضافي الذي يمكنك اتخاذه؟

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

تحديد سبب التحميل الزائد لوحدة المعالجة المركزية أو الذاكرة

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

  1. افتح الرسم التخطيطي للوظيفة الفعلية، وانتقل إلى مدخل Microsoft Azure للوظيفتك ضمن Monitoring، وحدد Job diagram (preview)، والتبديل إلى الرسم التخطيطي الفعلي. سترى الرسم التخطيطي الفعلي محملا كما يلي.

    لقطة شاشة تعرض نظرة عامة على مهمة وحدة المعالجة المركزية والذاكرة المحملة بشكل زائد.

  2. تحقق من استخدام وحدة المعالجة المركزية والذاكرة في كل عقدة دفق لمعرفة ما إذا كان الاستخدام في جميع عقد الدفق مرتفعا جدا. إذا كان استخدام وحدة المعالجة المركزية و SU مرتفعا (أكثر من 80 بالمائة) في جميع عقد الدفق، يمكنك استنتاج أن هذه المهمة تحتوي على كمية كبيرة من البيانات التي تتم معالجتها داخل كل عقدة دفق.

    من الحالة أعلاه، يكون استخدام وحدة المعالجة المركزية حوالي 90٪ واستخدام الذاكرة هو 100٪ بالفعل. يظهر أن كل عقدة تدفق ينفد منها المورد لمعالجة البيانات.

    لقطة شاشة تعرض وحدة المعالجة المركزية والذاكرة المحملة تحميلا زائدا في جميع العقد.

  3. تحقق من عدد الأقسام المخصصة في كل عقدة دفق بحيث يمكنك تحديد ما إذا كنت بحاجة إلى المزيد من عقد الدفق لموازنة الأقسام لتقليل عبء عقد الدفق الموجودة.

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

ما هو الإجراء الإضافي الذي يمكنك اتخاذه؟

ضع في اعتبارك تقليل عدد الأقسام لكل عقدة تدفق لتقليل بيانات الإدخال. يمكنك مضاعفة وحدات SUs المخصصة لكل عقدة دفق إلى قسمين لكل عقدة عن طريق زيادة عدد عقد الدفق من 8 إلى 16. أو يمكنك مضاعفة وحدات SU أربع مرات لجعل كل عقدة متدفقة تتعامل مع البيانات من قسم واحد.

لمعرفة المزيد حول العلاقة بين عقدة الدفق ووحدة الدفق، راجع فهم وحدة البث وعقدة الدفق.

ماذا يجب أن تفعل إذا كان تأخير العلامة المائية لا يزال يتزايد عندما تقوم عقدة دفق واحدة بمعالجة البيانات من قسم واحد؟ أعد تقسيم الإدخال الخاص بك مع المزيد من الأقسام لتقليل كمية البيانات في كل قسم. للحصول على التفاصيل، راجع استخدام إعادة تقسيم لتحسين وظائف Azure Stream Analytics.

الخطوات التالية