Mendiagnosis Aplikasi Transaksional
Topik ini menjelaskan cara menggunakan fitur manajemen dan diagnostik Windows Communication Foundation (WCF) untuk memecahkan masalah aplikasi transaksi.
Penghitung Kinerja
WCF menyediakan serangkaian penghitung performa standar bagi Anda untuk mengukur performa aplikasi transaksi anda. Untuk informasi selengkapnya, lihat Penghitung Kinerja.
Penghitung performa dicakup ke tiga tingkat yang berbeda: layanan, titik akhir, dan operasi, seperti yang dijelaskan dalam tabel berikut.
Penghitung Performa Layanan
Penghitung kinerja | Deskripsi |
---|---|
Transaksi Mengalir | Jumlah transaksi yang mengalir ke operasi dalam layanan ini. Penghitung ini bertambah bertahap setiap kali transaksi muncul dalam pesan yang dikirim ke layanan. |
Transaksi yang Dialirkan Per Detik | Jumlah transaksi yang mengalir ke operasi dalam layanan ini dalam setiap detik. Penghitung ini bertambah bertahap setiap kali transaksi muncul dalam pesan yang dikirim ke layanan. |
Operasi Yang Ditransaksikan Diterapkan | Jumlah operasi transaksi yang dilakukan, yang transaksinya telah selesai dengan hasil yang diterapkan dalam layanan ini. Pekerjaan yang dilakukan dengan operasi tersebut diterapkan sepenuhnya. Sumber daya diperbarui sesuai dengan pekerjaan yang dilakukan dalam operasi. |
Operasi Transaksi yang Diterapkan Per Detik | Jumlah operasi transaksi yang dilakukan, yang transaksinya telah selesai dengan hasil yang diterapkan dalam layanan ini dalam setiap detik. Pekerjaan yang dilakukan dengan operasi tersebut diterapkan sepenuhnya. Sumber daya diperbarui sesuai dengan pekerjaan yang dilakukan dalam operasi. |
Operasi Yang Ditransaksikan Dibatalkan | Jumlah operasi transaksi yang dilakukan, yang transaksinya telah selesai dengan hasil yang dibatalkan dalam layanan ini. Pekerjaan yang dilakukan dengan operasi tersebut digulung balik. Sumber daya kembali ke status sebelumnya. |
Operasi Transaksi yang Dibatalkan Per Detik | Jumlah operasi transaksi yang dilakukan, yang transaksinya telah selesai dengan hasil yang dibatalkan dalam layanan ini dalam setiap detik. Pekerjaan yang dilakukan dengan operasi tersebut digulung balik. Sumber daya kembali ke status sebelumnya. |
Operasi Yang Ditransaksikan Ragu | Jumlah operasi transaksi yang dilakukan, yang transaksinya telah selesai dengan hasil yang diragukan dalam layanan ini. Pekerjaan yang dilakukan dengan hasil yang diragukan berada dalam status tidak ditentukan. Sumber daya ditahan karena hasilnya tertunda. |
Operasi Transaksi yang Diragukan Per Detik | Jumlah operasi transaksi yang dilakukan, yang transaksinya telah selesai dengan hasil yang diragukan dalam layanan ini dalam setiap detik. Pekerjaan yang dilakukan dengan hasil yang diragukan berada dalam status tidak ditentukan. Sumber daya ditahan karena hasilnya tertunda. |
Penghitung Performa Titik Akhir
Penghitung kinerja | Deskripsi |
---|---|
Transaksi Mengalir | Jumlah transaksi yang mengalir ke operasi pada titik akhir ini. Penghitung ini bertambah bertahap setiap kali transaksi muncul dalam pesan yang dikirim ke titik akhir. |
Transaksi yang Dialirkan Per Detik | Jumlah transaksi yang mengalir ke operasi pada titik akhir ini dalam setiap detik. Penghitung ini bertambah bertahap setiap kali transaksi muncul dalam pesan yang dikirim ke titik akhir. |
Penghitung Performa Operasi
Penghitung kinerja | Deskripsi |
---|---|
Transaksi Mengalir | Jumlah transaksi yang mengalir ke operasi pada titik akhir ini. Penghitung ini bertambah bertahap setiap kali transaksi muncul dalam pesan yang dikirim ke titik akhir. |
Transaksi yang Dialirkan Per Detik | Jumlah transaksi yang mengalir ke operasi pada titik akhir ini dalam setiap detik. Penghitung ini bertambah bertahap setiap kali transaksi muncul dalam pesan yang dikirim ke titik akhir. |
Windows Management Instrumentation
WCF mengekspos data inspeksi layanan pada durasi melalui penyedia WCF Windows Management Instrumentation (WMI). Untuk informasi selengkapnya tentang mengakses data WMI, lihat Menggunakan Windows Management Instrumentation untuk Diagnostik.
Sejumlah properti WMI baca-saja menunjukkan setelan transaksi yang diterapkan untuk layanan. Tabel berikut mencantumkan semua setelan ini.
Pada layanan, ServiceBehaviorAttribute
memiliki properti berikut.
Nama | Tipe | Deskripsi |
---|---|---|
ReleaseServiceInstanceOnTransactionComplete | Boolean | Menentukan apakah objek layanan didaur ulang saat transaksi saat ini selesai. |
TransactionAutoCompleteOnSessionClose | Boolean | Menentukan apakah transaksi yang tertunda selesai saat sesi saat ini ditutup. |
TransactionIsolationLevel | String yang berisi nilai enumerasi IsolationLevel yang valid. | Menentukan tingkat isolasi transaksi yang didukung layanan ini. |
TransactionTimeout | DateTime | Menentukan periode saat transaksi harus diselesaikan. |
ServiceTimeoutsBehavior
memiliki properti berikut.
Nama | Tipe | Deskripsi |
---|---|---|
TransactionTimeout | DateTime | Menentukan periode saat transaksi harus diselesaikan. |
Pada pengikatan, TransactionFlowBindingElement
memiliki properti berikut.
Nama | Tipe | Deskripsi |
---|---|---|
TransactionProtocol | String yang berisi nilai jenis TransactionProtocol yang valid. | Menentukan protokol transaksi yang akan digunakan dalam mengalirkan transaksi. |
TransactionFlow | Boolean | Menentukan apakah alur transaksi yang masuk diaktifkan. |
Pada operasi, OperationBehaviorAttribute
memiliki properti berikut:
Nama | Tipe | Deskripsi |
---|---|---|
TransactionAutoComplete | Boolean | Menentukan apakah akan secara otomatis menerapkan transaksi saat ini jika tidak terjadi pengecualian yang tidak ditangani. |
TransactionScopeRequired | Boolean | Menentukan apakah operasi memerlukan transaksi. |
Pada operasi, TransactionFlowAttribute
memiliki properti berikut.
Nama | Tipe | Deskripsi |
---|---|---|
TransactionFlowOption | String yang berisi nilai enumerasi TransactionFlowOption yang valid. | Menentukan sejauh mana alur transaksi diperlukan. |
Menelusuri
Jejak memungkinkan Anda memantau dan menganalisis kesalahan dalam aplikasi transaksi. Anda dapat mengaktifkan pelacakan dengan cara berikut:
Pelacakan WCF standar
Jenis pelacakan ini sama dengan melacak aplikasi WCF apa pun. Untuk informasi selengkapnya, lihat Mengonfigurasi Layanan.
Pelacakan WS-AtomicTransaction
Pelacakan WS-AtomicTransaction dapat diaktifkan dengan menggunakan Utilitas Konfigurasi WS-AtomicTransaction (wsatConfig.exe). Pelacakan tersebut memberikan wawasan tentang status transaksi dan peserta dalam sistem. Untuk mengaktifkan pelacakan Model Layanan internal, Anda dapat mengatur kunci registri
HKLM\SOFTWARE\Microsoft\WSAT\3.0\ServiceModelDiagnosticTracing
ke nilai enumerasi SourceLevels yang valid. Anda dapat mengaktifkan pengelogan pesan dengan cara yang sama seperti aplikasi WCF lainnya.Pelacakan
System.Transactions
Saat menggunakan protokol OleTransactions, pesan protokol tidak dapat dilacak. Dukungan pelacakan yang disediakan infrastruktur System.Transactions (yang menggunakan OleTransactions) memungkinkan pengguna melihat peristiwa yang terjadi pada transaksi. Untuk mengaktifkan pelacakan untuk aplikasi System.Transactions, sertakan kode berikut dalam file konfigurasi
App.config
.<configuration> <system.diagnostics> <sources> <source name="System.Transactions" switchValue="Verbose, ActivityTracing"> <listeners> <add name="Text" type="System.Diagnostics.XmlWriterTraceListener" initializeData="SysTx.log" traceOutputOptions="Callstack" /> </listeners> </source> </sources> <trace autoflush="true" indentsize="4"> </trace> </system.diagnostics> </configuration>
Ini juga memungkinkan pelacakan WCF, karena WCF juga menggunakan infrastruktur System.Transactions.