Bagikan melalui


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.

Lihat juga