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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk