وظائف التشخيص لـStateful Reliable Services

تصدر فئة Azure Service Fabric Stateful Reliable Services StatefulServiceBase أحداث EventSource يمكن استخدامها لتتبع أخطاء الخدمة، وتقديم نتائج تحليلات عن كيفية تشغيل وقت التشغيل، والمساعدة في استكشاف الأخطاء وإصلاحها.

أحداث EventSource

اسم EventSource لفئة Stateful Reliable Services StatefulServiceBase هو"Microsoft-ServiceFabric-Services." تظهر الأحداث من هذا المصدر للحدث في نافذة Diagnostics Events عندما يتم تتبع أخطاء الخدمة في Visual Studio.

أمثلة على الأدوات والتقنيات التي تساعد في جمع و/أو عرض أحداث EventSource هي PerfView وAzure Diagnostics وMicrosoft TraceEvent Library.

الأحداث

اسم الحدث معرف الحدث المستوى وصف الحدث
StatefulRunAsyncInvocation 1 معلوماتي يُصدَر عند بدء مهمة RunAsync للخدمة
StatefulRunAsyncCancellation 2 معلوماتي يُصدَر عند إلغاء مهمة RunAsync للخدمة
StatefulRunAsyncCompletion 3 معلوماتي يُصدَر عند انتهاء مهمة RunAsync للخدمة
StatefulRunAsyncSlowCancellation 4 تحذير يُصدَر عندما تستغرق مهمة RunAsync للخدمة وقتاً طويلاً لإكمال الإلغاء
StatefulRunAsyncFailure 5 Error يُصدَر عندما تطرح مهمة RunAsync للخدمة استثناءً

تفسير الأحداث

تعتبر أحداث StatefulRunAsyncInvocation وStatefulRunAsyncCompletion وStatefulRunAsyncCancellation مفيدة لكاتب الخدمة لفهم دورة حياة الخدمة، بالإضافة إلى توقيت بدء الخدمة أو إلغاؤها أو إنهائها. يمكن أن تكون هذه المعلومات مفيدة عند تتبع أخطاء مشكلات الخدمة أو فهم دورة حياة الخدمة.

يجب أن يولي كُتّاب الخدمة اهتماماً وثيقاً بأحداث StatefulRunAsyncSlowCancellation وStatefulRunAsyncFailure لأنها تشير إلى مشكلات تتعلق بالخدمة.

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

يتم إرسال StatefulRunAsyncSlowCancellation عندما يستغرق طلب الإلغاء لمهمة RunAsync أكثر من أربع ثوانٍ. عندما تستغرق الخدمة وقتاً طويلاً لإكمال الإلغاء، فإنها تؤثر على قدرة الخدمة على إعادة التشغيل بسرعة على عقدة أخرى. قد يؤثر هذا السيناريو على التوفر العام للخدمة.

عدادات الأداء

يحدد وقت تشغيل Reliable Services فئات عداد الأداء التالية:

الفئة ‏‏الوصف
Service Fabric Transactional Replicator عدادات خاصة بـAzure Service Fabric Transactional Replicator
Service Fabric TStore عدادات خاصة بـAzure Service Fabric TStore

يُستخدم Service Fabric Transactional Replicator بواسطة Reliable State Manager لنسخ العمليات داخل مجموعة معينة من النسخ المتماثلة.

يعد Service Fabric TStore مُكوِّناً يستخدم في Reliable State Manager لتخزين واسترجاع أزواج المفتاح والقيمة.

يمكن استخدام تطبيق مراقبة أداء Windows المتوفر افتراضياً في نظام التشغيل Windows لجمع بيانات عداد الأداء وعرضها. تشخيص Azure هو خيار آخر لجمع بيانات عداد الأداء وتحميلها إلى جداول Azure.

أسماء مثيل عداد الأداء

سيكون لنظام المجموعة التي تحتوي على عدد كبير من الخدمات الموثوقة أو أقسام الخدمة الموثوقة عدداً كبيراً من مثيلات عداد أداء النسخ المتماثل للعمليات. هذا هو الحال أيضاً بالنسبة لعدادات أداء TStore، ولكنه يتضاعف أيضاً بعدد Reliable Dictionaries وReliable Queues المستخدمة. يمكن أن تساعد أسماء مثيلات عداد الأداء في تحديد القسم المحدد، والنسخة المتماثلة للخدمة، وموفر الحالة في حالة TStore، التي يرتبط بها مثيل عداد الأداء.

فئة Service Fabric Transactional Replicator

بالنسبة للفئة Service Fabric Transactional Replicator، تكون أسماء مثيلات العداد بالتنسيق التالي:

ServiceFabricPartitionId:ServiceFabricReplicaId

ServiceFabricPartitionId هو تمثيل السلسلة لمعرف قسم Service Fabric الذي يرتبط به مثيل عداد الأداء. معرف القسم هو GUI، ويُنشأ تمثيل السلسلة الخاص به من خلال Guid.ToString باستخدام محدد التنسيق "D".

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

يعد اسم مثيل العداد التالي نموذجياً للعداد ضمن الفئة Service Fabric Transactional Replicator:

00d0126d-3e36-4d68-98da-cc4f7195d85e:131652217797162571

في المثال السابق، يمثل 00d0126d-3e36-4d68-98da-cc4f7195d85e تمثيل السلسلة لمعرف قسم Service Fabric، و131652217797162571 هو معرف النسخة المتماثلة.

فئة Service Fabric TStore

بالنسبة للفئة Service Fabric TStore، تكون أسماء مثيلات العداد بالتنسيق التالي:

ServiceFabricPartitionId:ServiceFabricReplicaId:StateProviderId_PerformanceCounterInstanceDifferentiator_StateProviderName

ServiceFabricPartitionId هو تمثيل السلسلة لمعرف قسم Service Fabric الذي يرتبط به مثيل عداد الأداء. معرف القسم هو GUI، ويُنشأ تمثيل السلسلة الخاص به من خلال Guid.ToString باستخدام محدد التنسيق "D".

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

StateProviderId هو المعرف المرتبط بموفر دولة ضمن خدمة موثوقة. يُضمَّن معرف مزود الحالة في اسم مثيل عداد الأداء للتمييز بين TStore وآخر.

PerformanceCounterInstanceDifferentiator هو معرف تفاضل مرتبط بمثيل عداد أداء داخل موفر الحالة. يُضمَّن هذا المفاضل في اسم مثيل عداد الأداء لضمان تفرده وتجنب التعارض مع مثيلات عداد الأداء الأخرى المُنشأة بواسطة مزود الحالة نفسه.

StateProviderName هو الاسم المرتبط بموفر الحالة ضمن خدمة موثوقة. يُضمَّن اسم موفر الحالة في اسم مثيل عداد الأداء للمستخدمين لتحديد الحالة التي يوفرها بسهولة.

يعد اسم مثيل العداد التالي نموذجياً للعداد ضمن الفئة Service Fabric TStore:

00d0126d-3e36-4d68-98da-cc4f7195d85e:131652217797162571:142652217797162571_1337_urn:MyReliableDictionary/dataStore

في المثال السابق، 00d0126d-3e36-4d68-98da-cc4f7195d85e هو تمثيل السلسلة لمعرف قسم Service Fabric، و131652217797162571 هو معرف النسخة المتماثلة، و142652217797162571 هو معرف موفر الحالة، و1337 هو مفاضل مثيل عداد الأداء. urn:MyReliableDictionary/dataStore هو اسم موفر الحالة الذي يخزن البيانات للمجموعة المسماة urn:MyReliableDictionary.

عدادات أداء Transactional Replicator

يصدر وقت تشغيل Reliable Services الأحداث التالية ضمن فئة Service Fabric Transactional Replicator

اسم العداد ‏‏الوصف
Begin Txn Operations/sec عدد عمليات الكتابة الجديدة المُنشأة في الثانية.
Txn Operations/sec عدد عمليات الإضافة/التحديث/الحذف التي تم إجراؤها على مجموعات موثوقة في الثانية.
Log Flush Bytes/sec عدد البايتات المتدفقة إلى القرص بواسطة Transactional Replicator في الثانية
Throttled Operations/sec عدد العمليات المرفوضة كل ثانية بواسطة Transactional Replicator بسبب التحكم بالنطاق الترددي.
Avg. Transaction ms/Commit متوسط زمن انتقال التثبيت لكل عملية بالملي ثانية
Avg. Flush Latency (ms) متوسط ​​مدة عمليات تدفق القرص التي بدأها Transactional Replicator بالملي ثانية

عدادات أداء TStore

يصدر وقت تشغيل Reliable Services الأحداث التالية ضمن فئة Service Fabric TStore

اسم العداد ‏‏الوصف
Item Count عدد العناصر في المخزن.
Disk Size إجمالي حجم القرص، بالبايت، لملفات نقاط التحقق الخاصة بالمخزن.
Checkpoint File Write Bytes/sec عدد البايتات المكتوبة في الثانية لأحدث ملف نقاط تحقق.
Copy Disk Transfer Bytes/sec عدد وحدات بايت القرص المقروءة (على النسخة المتماثلة الأساسية) أو المكتوبة (على النسخة المتماثلة الثانوية) في الثانية أثناء نسخة المخزن.

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

موفرو EventSource في PerfView