Sdílet prostřednictvím


Diagnostikování transakčních aplikací

Toto téma popisuje, jak pomocí funkce správy a diagnostiky WCF (Windows Communication Foundation) řešit potíže s transakční aplikací.

Čítače výkonu

WCF poskytuje standardní sadu čítačů výkonu pro měření výkonu transakční aplikace. Další informace naleznete v tématu Čítače výkonu.

Čítače výkonu jsou vymezeny na tři různé úrovně: služba, koncový bod a operace, jak je popsáno v následujících tabulkách.

Čítače výkonu služby

Čítač výkonu Popis
Počet plynoucích transakcí Počet transakcí, které proudily do operací v této službě. Tento čítač se zvýší pokaždé, když je transakce přítomna ve zprávě, která je odeslána do služby.
Počet plynoucích transakcí za sekundu Počet transakcí, které proudily do operací v této službě v rámci každé sekundy. Tento čítač se zvýší pokaždé, když je transakce přítomna ve zprávě, která je odeslána do služby.
Počet potvrzených zpracovaných operací Počet provedených transakcí, jejichž transakce byla dokončena s výsledkem potvrzeným v této službě. Práce provedená v rámci těchto operací je plně potvrzena. Zdroje se aktualizují v souladu s prací provedenou v operaci.
Počet potvrzených zpracovaných operací za sekundu Počet provedených transakcí, jejichž transakce byla dokončena s výsledkem potvrzeným v této službě v rámci každé sekundy. Práce provedená v rámci těchto operací je plně potvrzena. Zdroje se aktualizují v souladu s prací provedenou v operaci.
Počet přerušených transakčních operací Počet provedených transaktovaných operací, jejichž transakce byla dokončena s výsledkem přerušeným v této službě. Práce provedená v rámci těchto operací se vrátí zpět. Prostředky se vrátí do předchozího stavu.
Počet zrušených zpracovaných operací za sekundu Počet provedených transakcí, jejichž transakce byla dokončena s výsledkem přerušen v této službě v rámci každé sekundy. Práce provedená v rámci těchto operací se vrátí zpět. Prostředky se vrátí do předchozího stavu.
Počet nejistých zpracovaných operací Počet provedených transakcí, jejichž transakce byla dokončena s výsledkem pochybnosti v této službě. Práce provedená s výsledkem v pochybnosti je v nedeterminátu stavu. Prostředky se uchovávají čekající na výsledek.
Počet nejistých zpracovaných operací za sekundu Počet provedených transakcí, jejichž transakce byla dokončena s výsledkem pochybnosti v této službě v rámci každé sekundy. Práce provedená s výsledkem v pochybnosti je v nedeterminátu stavu. Prostředky se uchovávají čekající na výsledek.

Čítače výkonu koncového bodu

Čítač výkonu Popis
Počet plynoucích transakcí Počet transakcí, které do operací v tomto koncovém bodu proudily. Tento čítač se zvýší při každém zobrazení transakce ve zprávě, která se odešle do koncového bodu.
Počet plynoucích transakcí za sekundu Počet transakcí, které do provozu v tomto koncovém bodu došlo během každé sekundy. Tento čítač se zvýší při každém zobrazení transakce ve zprávě, která se odešle do koncového bodu.

Čítače provozního výkonu

Čítač výkonu Popis
Počet plynoucích transakcí Počet transakcí, které do operací v tomto koncovém bodu proudily. Tento čítač se zvýší při každém zobrazení transakce ve zprávě, která se odešle do koncového bodu.
Počet plynoucích transakcí za sekundu Počet transakcí, které do provozu v tomto koncovém bodu došlo během každé sekundy. Tento čítač se zvýší při každém zobrazení transakce ve zprávě, která se odešle do koncového bodu.

WMI (Windows Management Instrumentation)

WCF zveřejňuje kontrolní data služby za běhu prostřednictvím zprostředkovatele WMI (WCF Windows Management Instrumentation). Další informace o přístupu k datům rozhraní WMI naleznete v tématu Použití nástroje Windows Management Instrumentation pro diagnostiku.

Počet vlastností rozhraní WMI jen pro čtení označuje použité nastavení transakce pro službu. V následujících tabulkách jsou uvedená všechna tato nastavení.

Ve službě ServiceBehaviorAttribute má následující vlastnosti.

Name Typ Popis
ReleaseServiceInstanceOnTransactionComplete Logická hodnota Určuje, zda je objekt služby recyklován po dokončení aktuální transakce.
Transactionautocompleteonsessionclose Logická hodnota Určuje, zda čekající transakce jsou dokončeny při ukončení aktuální relace.
TransactionIsolationLevel Řetězec, který obsahuje platnou hodnotu výčtu IsolationLevel . Určuje úroveň izolace transakcí, kterou tato služba podporuje.
Vlastnost TransactionTimeout DateTime Určuje období, během kterého se transakce musí dokončit.

ServiceTimeoutsBehavior následující vlastnost.

Name Typ Popis
Vlastnost TransactionTimeout DateTime Určuje období, během kterého se transakce musí dokončit.

U vazby TransactionFlowBindingElement má následující vlastnosti.

Name Typ Popis
TransactionProtocol Řetězec, který obsahuje platnou TransactionProtocol hodnotu typu. Určuje transakční protokol, který se má použít při toku transakce.
Transactionflow Logická hodnota Určuje, jestli je povolený tok příchozí transakce.

U operace OperationBehaviorAttribute má následující vlastnosti:

Name Typ Popis
Transactionautocomplete Logická hodnota Určuje, zda se má automaticky potvrdit aktuální transakce, pokud nedojde k neošetřeným výjimkám.
Transactionscoperequired Logická hodnota Určuje, zda operace vyžaduje transakci.

U operace TransactionFlowAttribute má následující vlastnosti.

Name Typ Popis
TransactionFlowOption Řetězec, který obsahuje platnou hodnotu výčtu TransactionFlowOption . Určuje rozsah, do kterého se vyžaduje tok transakce.

Sledování

Trasování umožňuje monitorovat a analyzovat chyby v transakčních aplikacích. Trasování můžete povolit následujícími způsoby:

  • Standardní trasování WCF

    Tento typ trasování je stejný jako trasování jakékoli aplikace WCF. Další informace najdete v tématu Konfigurace trasování.

  • Trasování WS-AtomicTransaction

    Trasování WS-AtomicTransaction lze povolit pomocí konfiguračního nástroje WS-AtomicTransaction (wsatConfig.exe). Takové trasování poskytuje přehled o stavu transakcí a účastníků v rámci systému. Pokud chcete také povolit interní trasování modelu služby, můžete klíč registru nastavit HKLM\SOFTWARE\Microsoft\WSAT\3.0\ServiceModelDiagnosticTracing na platnou hodnotu výčtu SourceLevels . Protokolování zpráv můžete povolit stejným způsobem jako jiné aplikace WCF.

  • System.Transactions Trasování

    Při použití protokolu OleTransactions nelze trasovat zprávy protokolu. Trasování podporuje infrastrukturu System.Transactions (která používá OleTransactions) umožňuje uživatelům zobrazit události, ke kterým došlo k transakcím. Pokud chcete povolit trasování pro System.Transactions aplikaci, zahrňte do konfiguračního App.config souboru následující kód.

    <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>  
    

    To také umožňuje trasování WCF, protože WCF také využívá infrastrukturu System.Transactions .

Viz také