Udostępnij za pośrednictwem


Funkcja diagnostyki dla stanowych usług Reliable Services

Klasa Stateful Reliable Services statefulServiceBase usługi Azure Service Fabric emituje zdarzenia EventSource , które mogą służyć do debugowania usługi, zapewniają wgląd w sposób działania środowiska uruchomieniowego i pomoc w rozwiązywaniu problemów.

Zdarzenia źródła zdarzeń

Nazwa źródła zdarzeń dla klasy Stateful Reliable Services StatefulServiceBase to "Microsoft-ServiceFabric-Services". Zdarzenia z tego źródła zdarzeń są wyświetlane w oknie Zdarzenia diagnostyczne, gdy usługa jest debugowana w programie Visual Studio.

Przykłady narzędzi i technologii, które pomagają w zbieraniu i/lub wyświetlaniu zdarzeń EventSource, to PerfView, Diagnostyka Azure i Biblioteka Microsoft TraceEvent.

Zdarzenia

Nazwa zdarzenia Identyfikator zdarzenia Poziom Opis zdarzenia
StatefulRunAsyncInvocation 1 Informacyjny Emitowane po uruchomieniu zadania RunAsync usługi
StatefulRunAsyncCancellation 2 Informacyjny Emitowane po anulowaniu zadania RunAsync usługi
StatefulRunAsyncCompletion 3 Informacyjny Emitowane po zakończeniu zadania RunAsync usługi
StatefulRunAsyncSlowCancellation 100 Ostrzeżenie Emitowane, gdy zadanie RunAsync usługi trwa zbyt długo, aby ukończyć anulowanie
StatefulRunAsyncFailure 5 Błąd Emitowane, gdy zadanie RunAsync usługi zgłasza wyjątek

Interpretowanie zdarzeń

Zdarzenia StatefulRunAsyncInvocation, StatefulRunAsyncCompletion i StatefulRunAsyncCancellation są przydatne dla składnika zapisywania usługi, aby zrozumieć cykl życia usługi, a także czas rozpoczęcia, anulowania lub zakończenia usługi. Te informacje mogą być przydatne podczas debugowania problemów z usługą lub zrozumienia cyklu życia usługi.

Autorzy usług powinni zwrócić szczególną uwagę na zdarzenia StatefulRunAsyncSlowCancellation i StatefulRunAsyncFailure, ponieważ wskazują problemy z usługą.

StanfulRunAsyncFailure jest emitowany za każdym razem, gdy zadanie RunAsync() usługi zgłasza wyjątek. Zazwyczaj zgłoszony wyjątek wskazuje błąd lub usterkę w usłudze. Ponadto wyjątek powoduje niepowodzenie usługi, więc jest przenoszony do innego węzła. Ta operacja może być kosztowna i może opóźnić żądania przychodzące podczas przenoszenia usługi. Autorzy usług powinni określić przyczynę wyjątku i, jeśli to możliwe, go złagodzić.

StatefulRunAsyncSlowCancellation jest emitowany za każdym razem, gdy żądanie anulowania dla zadania RunAsync trwa dłużej niż cztery sekundy. Gdy anulowanie usługi trwa zbyt długo, ma to wpływ na możliwość szybkiego ponownego uruchomienia usługi w innym węźle. Ten scenariusz może mieć wpływ na ogólną dostępność usługi.

Liczniki wydajności

Środowisko uruchomieniowe usług Reliable Services definiuje następujące kategorie liczników wydajności:

Kategoria opis
Replikator transakcyjny usługi Service Fabric Liczniki specyficzne dla transakcyjnego replikatora usługi Azure Service Fabric
Service Fabric TStore Liczniki specyficzne dla magazynu TStore usługi Azure Service Fabric

Transakcyjny replikator usługi Service Fabric jest używany przez menedżera niezawodnego stanu do replikowania transakcji w danym zestawie replik.

Magazyn TStore usługi Service Fabric jest składnikiem używanym w elementach Reliable Collections do przechowywania i pobierania par klucz-wartość.

Aplikacja systemu Windows monitor wydajności, która jest domyślnie dostępna w systemie operacyjnym Windows, może służyć do zbierania i wyświetlania danych licznika wydajności. Diagnostyka Azure to kolejna opcja zbierania danych licznika wydajności i przekazywania ich do tabel platformy Azure.

Nazwy wystąpień licznika wydajności

Klaster, który ma dużą liczbę niezawodnych usług lub niezawodnych partycji usługi, będzie miał dużą liczbę wystąpień licznika wydajności replikatora transakcyjnego. Dotyczy to również liczników wydajności magazynu TStore, ale jest również mnożona przez liczbę używanych słowników reliable i reliable queues. Nazwy wystąpień licznika wydajności mogą pomóc w zidentyfikowaniu określonej partycji, repliki usługi i dostawcy stanu w przypadku usługi TStore, z którą jest skojarzone wystąpienie licznika wydajności.

Kategoria replikatora transakcyjnego usługi Service Fabric

W przypadku kategorii Service Fabric Transactional Replicatornazwy wystąpień licznika mają następujący format:

ServiceFabricPartitionId:ServiceFabricReplicaId

ServiceFabricPartitionId to ciąg reprezentujący identyfikator partycji usługi Service Fabric skojarzony z wystąpieniem licznika wydajności. Identyfikator partycji jest identyfikatorem GUID, a jego reprezentacja ciągu jest generowana za pomocą Guid.ToString specyfikatora formatu "D".

ServiceFabricReplicaId jest identyfikatorem skojarzonym z daną repliką niezawodnej usługi. Identyfikator repliki jest uwzględniony w nazwie wystąpienia licznika wydajności, aby zapewnić jego unikatowość i uniknąć konfliktu z innymi wystąpieniami licznika wydajności generowanymi przez tę samą partycję. Więcej szczegółów dotyczących replik i ich roli w niezawodnych usługach można znaleźć tutaj.

Następująca nazwa wystąpienia licznika jest typowa dla licznika w Service Fabric Transactional Replicator kategorii:

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

W poprzednim przykładzie 00d0126d-3e36-4d68-98da-cc4f7195d85e jest ciągiem reprezentującym identyfikator partycji usługi Service Fabric i 131652217797162571 jest identyfikatorem repliki.

Kategoria TStore usługi Service Fabric

W przypadku kategorii Service Fabric TStorenazwy wystąpień licznika mają następujący format:

ServiceFabricPartitionId:ServiceFabricReplicaId:StateProviderId_PerformanceCounterInstanceDifferentiator_StateProviderName

ServiceFabricPartitionId to ciąg reprezentujący identyfikator partycji usługi Service Fabric skojarzony z wystąpieniem licznika wydajności. Identyfikator partycji jest identyfikatorem GUID, a jego reprezentacja ciągu jest generowana za pomocą Guid.ToString specyfikatora formatu "D".

ServiceFabricReplicaId jest identyfikatorem skojarzonym z daną repliką niezawodnej usługi. Identyfikator repliki jest uwzględniony w nazwie wystąpienia licznika wydajności, aby zapewnić jego unikatowość i uniknąć konfliktu z innymi wystąpieniami licznika wydajności generowanymi przez tę samą partycję. Więcej szczegółów dotyczących replik i ich roli w niezawodnych usługach można znaleźć tutaj.

StateProviderId to identyfikator skojarzony z dostawcą stanu w ramach niezawodnej usługi. Identyfikator dostawcy stanu jest uwzględniony w nazwie wystąpienia licznika wydajności, aby odróżnić magazyn TStore od innego.

PerformanceCounterInstanceDifferentiator to identyfikator różnicujący skojarzony z wystąpieniem licznika wydajności w ramach dostawcy stanu. Ten różnicnik jest uwzględniony w nazwie wystąpienia licznika wydajności, aby zapewnić jego unikatowość i uniknąć konfliktu z innymi wystąpieniami licznika wydajności generowanymi przez tego samego dostawcę stanu.

StateProviderName to nazwa skojarzona z dostawcą stanu w ramach niezawodnej usługi. Nazwa dostawcy stanu jest uwzględniona w nazwie wystąpienia licznika wydajności dla użytkowników, aby łatwo zidentyfikować stan, który zapewnia.

Następująca nazwa wystąpienia licznika jest typowa dla licznika w Service Fabric TStore kategorii:

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

W poprzednim przykładzie 00d0126d-3e36-4d68-98da-cc4f7195d85e to ciąg reprezentujący identyfikator partycji usługi Service Fabric, 131652217797162571 jest identyfikatorem repliki, 142652217797162571 identyfikatorem dostawcy stanu i 1337 jest różnicowym wystąpieniem licznika wydajności. urn:MyReliableDictionary/dataStore to nazwa dostawcy stanu, który przechowuje dane dla kolekcji o nazwie urn:MyReliableDictionary.

Liczniki wydajności transakcyjnego replikatora

Środowisko uruchomieniowe usług Reliable Services emituje następujące zdarzenia w Service Fabric Transactional Replicator kategorii

Nazwa licznika opis
Rozpocznij operacje Txn na sekundę Liczba nowych transakcji zapisu utworzonych na sekundę.
Operacje txn/s Liczba operacji dodawania/aktualizowania/usuwania wykonywanych na niezawodnych kolekcjach na sekundę.
Bajty opróżniania dziennika/s Liczba bajtów opróżnionych na dysk przez transakcyjnego replikatora na sekundę
Operacje ograniczone/s Liczba operacji odrzuconych co sekundę przez transakcyjnego replikatora z powodu ograniczania przepustowości.
Średnia transakcja ms/commit Średnie opóźnienie zatwierdzenia na transakcję w milisekundach
Średnie opóźnienie opróżniania (ms) Średni czas trwania operacji opróżniania dysku zainicjowanych przez transakcyjnego replikatora w milisekundach

Liczniki wydajności magazynu TStore

Środowisko uruchomieniowe usług Reliable Services emituje następujące zdarzenia w Service Fabric TStore kategorii

Nazwa licznika opis
Liczba elementów Liczba elementów w sklepie.
Rozmiar dysku Łączny rozmiar dysku w bajtach plików punktu kontrolnego dla magazynu.
Bajty zapisu pliku punktu kontrolnego na sekundę Liczba bajtów zapisanych na sekundę dla najnowszego pliku punktu kontrolnego.
Kopiowanie bajtów transferu dysku na sekundę Liczba odczytanych bajtów dysku (w repliki podstawowej) lub zapisanych (w repliki pomocniczej) na sekundę podczas kopiowania magazynu.

Następne kroki

Dostawcy usługi EventSource w programie PerfView