Bagikan melalui


Fungsionalitas diagnostik untuk Stateful Reliable Service

Kelas Azure Service Fabric Stateful Reliable Services StatefulServiceBase mengeluarkan peristiwa EventSource yang dapat digunakan untuk men-debug layanan, memberikan wawasan tentang bagaimana runtime beroperasi, dan membantu pemecahan masalah.

Peristiwa EventSource

Nama EventSource untuk kelas Stateful Reliable Services StatefulServiceBase adalah "Microsoft-ServiceFabric-Services." Peristiwa dari sumber kejadian ini muncul di jendela Peristiwa Diagnostik ketika layanan di-debug di Visual Studio.

Contoh alat dan teknologi yang membantu dalam mengumpulkan dan/atau melihat peristiwa EventSource adalah PerfView, Azure Diagnostics, dan Microsoft TraceEvent Library.

Aktivitas

Nama kejadian ID Peristiwa Tingkat Deskripsi kejadian
StatefulRunAsyncInvocation 1 Informasi Dikeluarkan ketika tugas RunAsync layanan dimulai
StatefulRunAsyncCancellation 2 Informasi Dikeluarkan ketika tugas RunAsync layanan dibatalkan
StatefulRunAsyncCompletion 3 Informasi Dikeluarkan ketika tugas RunAsync layanan diselesaikan
StatefulRunAsyncSlowCancellation 4 Peringatan Dikeluarkan ketika layanan Tugas RunAsync membutuhkan waktu terlalu lama untuk menyelesaikan pembatalan
StatefulRunAsyncFailure 5 Kesalahan Dipancarkan ketika tugas layanan RunAsync melempar pengecualian

Menginterpretasikan peristiwa

Peristiwa StatefulRunAsyncInvocation, StatefulRunAsyncCompletion, dan StatefulRunAsyncCancellation berguna bagi penulis layanan untuk memahami siklus hidup layanan, serta waktu ketika layanan dimulai, dibatalkan, atau selesai. Informasi ini dapat berguna saat mendebug masalah layanan atau memahami siklus hidup layanan.

Penulis layanan harus memperhatikan dengan baik peristiwa StatefulRunAsyncSlowCancellation dan StatefulRunAsyncFailure karena menunjukkan masalah dengan layanan.

StatefulRunAsyncFailure dikeluarkan setiap kali tugas layanan RunAsync() memberikan pengecualian. Biasanya, pengecualian yang dilemparkan menunjukkan kesalahan atau bug dalam layanan. Selain itu, pengecualian menyebabkan layanan gagal, sehingga dipindahkan ke node yang berbeda. Operasi ini bisa mahal dan dapat menunda permintaan masuk saat layanan dipindahkan. Penulis layanan harus menentukan penyebab pengecualian dan, jika mungkin, menguranginya.

StatefulRunAsyncSlowCancellation dikeluarkan setiap kali permintaan pembatalan untuk tugas RunAsync memakan waktu lebih dari empat detik. Ketika layanan membutuhkan waktu terlalu lama untuk menyelesaikan pembatalan, itu mempengaruhi kemampuan layanan untuk cepat dimulai ulang pada node lain. Skenario ini dapat memengaruhi ketersediaan layanan secara keseluruhan.

Penghitung kinerja

Runtime Reliable Service menentukan kategori penghitung performa berikut:

Golongan Deskripsi
Service Fabric Transactional Replicator Penghitung khusus untuk Azure Service Fabric Transactional Replicator
Service Fabric TStore Penghitung khusus untuk Azure Service Fabric TStore

Service Fabric Transactional Replicator digunakan oleh Reliable State Manager untuk mereplikasi transaksi dalam satu set replika yang ditentukan.

Service Fabric TStore adalah komponen yang digunakan dalam Reliable Collection untuk menyimpan dan mengambil pasangan bernilai kunci.

Aplikasi Windows Performance Monitor yang tersedia secara default dalam sistem operasi Windows dapat digunakan untuk mengumpulkan dan melihat data penghitung performa. Azure Diagnostics adalah opsi lain untuk mengumpulkan data penghitung performa dan mengunggahnya ke tabel Azure.

Nama instans penghitung kinerja

Kluster yang memiliki sejumlah besar reliable service atau partisi reliable service akan memiliki sejumlah besar instans penghitung performa replikator transaksional. Ini juga terjadi untuk penghitung performa TStore, tetapi juga dikalikan dengan jumlah Reliable Dictionary dan Reliable Queue yang digunakan. Nama instans penghitung performa dapat membantu dalam mengidentifikasi partisi spesifik, replika layanan, dan penyedia status dalam kasus TStore, yang dikaitkan dengan instans penghitung performa.

Kategori Service Fabric Transactional Replicator

Untuk kategori Service Fabric Transactional Replicator, nama instans penghitung dalam format berikut:

ServiceFabricPartitionId:ServiceFabricReplicaId

ServiceFabricPartitionID adalah representasi string dari ID partisi Service Fabric yang dikaitkan dengan instans penghitung performa. ID partisi adalah GUID, dan representasi string yang dihasilkan melalui Guid.ToString dengan format penentu "D".

ServiceFabricReplicaId adalah ID yang terkait dengan replika reliable service. ID replika termasuk dalam nama instans penghitung performa untuk memastikan keunikannya dan menghindari konflik dengan nama instans penghitung performa yang dihasilkan oleh partisi yuang sama. Rincian lebih lanjut tentang replika dan peran mereka dalam reliable service dapat ditemukan di sini.

Nama instans penghitung berikut spesifik untuk penghitung di bawah kategori Service Fabric Transactional Replicator:

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

Dalam contoh sebelumnya, 00d0126d-3e36-4d68-98da-cc4f7195d85e adalah representasi string dari ID partisi Service Fabric, dan 131652217797162571 merupakan ID replika.

Kategori Service Fabric TStore

Untuk kategori Service Fabric TStore, nama instans penghitung dalam format berikut:

ServiceFabricPartitionId:ServiceFabricReplicaId:StateProviderId_PerformanceCounterInstanceDifferentiator_StateProviderName

ServiceFabricPartitionID adalah representasi string dari ID partisi Service Fabric yang dikaitkan dengan instans penghitung performa. ID partisi adalah GUID, dan representasi string yang dihasilkan melalui Guid.ToString dengan format penentu "D".

ServiceFabricReplicaId adalah ID yang terkait dengan replika reliable service. ID replika termasuk dalam nama instans penghitung performa untuk memastikan keunikannya dan menghindari konflik dengan nama instans penghitung performa yang dihasilkan oleh partisi yuang sama. Rincian lebih lanjut tentang replika dan peran mereka dalam reliable service dapat ditemukan di sini.

StateProviderId adalah ID yang terkait dengan penyedia status dalam reliable service. ID penyedia status disertakan dalam nama instans penghitung performa untuk membedakan TStore dari yang lain.

PerformanceCounterInstanceDifferentiator adalah ID pembeda yang terkait dengan instans penghitung performa dalam penyedia status. Ini termasuk dalam nama instans penghitung performa untuk memastikan keunikannya dan menghindari konflik dengan nama instans penghitung performa lainnya.

StateProviderId adalah nama yang terkait dengan penyedia status dalam reliable service. Nama penyedia status disertakan dalam nama instans penghitung performa bagi pengguna untuk dengan mudah mengidentifikasi status apa yang disediakannya.

Nama instans penghitung berikut spesifik untuk penghitung di bawah kategori Service Fabric TStore:

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

Dalam contoh sebelumnya, 00d0126d-3e36-4d68-98da-cc4f7195d85e adalah representasi string dari ID partisi Service Fabric, 131652217797162571 adalah ID replika, 142652217797162571 adalah ID penyedia status, dan 1337 merupakan pembeda instans penghitung performa. urn:MyReliableDictionary/dataStore adalah nama penyedia status yang menyimpan data untuk koleksi bernama urn:MyReliableDictionary.

Penghitung performa Transactional Replicator

Runtime Reliable Service mengeluarkan peristiwa berikut di bawah kategori Service Fabric Transactional Replicator

Nama penghitung Deskripsi
Begin Txn Operations/sec Jumlah transaksi tulis baru yang dibuat per detik.
Txn Operations/sec Jumlah operasi add/update/delete yang dilakukan pada reliable collection per detik.
Log Flush Bytes/sec Jumlah byte yang disiram ke disk oleh Transactional Replicator per detik
Throttled Operations/sec Jumlah operasi ditolak setiap detik oleh Transactional Replicator karena throttling.
Avg. Transaction ms/Commit Latensi penerapan rata-rata per transaksi dalam milidetik
Avg. Flush Latency (ms) Durasi rata-rata operasi flush disk yang diinisialisasi oleh Transactional Replicator dalam milidetik

Penghitung performa TStore

Runtime Reliable Service mengeluarkan peristiwa berikut di bawah kategori Service Fabric TStore

Nama penghitung Deskripsi
Jumlah Item Jumlah item di penyimpanan.
Ukuran Disk Ukuran total disk, dalam byte, dari file pos pemeriksaan untuk penyimpanan.
Byte/detik Tulis File Titik Pemeriksaan Jumlah byte yang ditulis per detik untuk file titik pemeriksaan terbaru.
Bytes/detik Transfer Disk Salin Jumlah byte disk yang dibaca (pada replika utama) atau ditulis (pada replika sekunder) per detik selama salinan penyimpanan.

Langkah berikutnya

Penyedia layanan EventSource di PerfView