A Stateful Reliable Services diagnosztikai funkciói

Az Azure Service Fabric Stateful Reliable Services StatefulServiceBase osztály olyan EventSource-eseményeket bocsát ki, amelyek a szolgáltatás hibakereséséhez, a futtatókörnyezet működésével kapcsolatos elemzésekhez és a hibaelhárításhoz nyújtanak segítséget.

EventSource-események

A Stateful Reliable Services StatefulServiceBase osztály EventSource-neve "Microsoft-ServiceFabric-Services". Az eseményforrásból származó események akkor jelennek meg a Diagnosztikai események ablakban, ha a szolgáltatás hibakeresése folyamatban van a Visual Studióban.

Az EventSource-események gyűjtésében és/vagy megtekintésében segítő eszközök és technológiák például a PerfView, az Azure Diagnostics és a Microsoft TraceEvent Library.

Események

Esemény neve Eseményazonosító Level Esemény leírása
StatefulRunAsyncInvocation 1 Tájékoztató Kibocsátva a szolgáltatás RunAsync-feladatának indításakor
StatefulRunAsyncCancellation 2 Tájékoztató Kibocsátva a szolgáltatás RunAsync-feladatának megszakításakor
StatefulRunAsyncCompletion 3 Tájékoztató Kibocsátva, ha a szolgáltatás RunAsync-feladata befejeződött
StatefulRunAsyncSlowCancellation 4 Figyelmeztetés Kibocsátva, ha a szolgáltatás RunAsync-feladata túl sokáig tart a lemondás befejezéséhez
StatefulRunAsyncFailure 5 Hiba Kibocsátva, ha a szolgáltatás RunAsync-tevékenysége kivételt jelez

Események értelmezése

A StatefulRunAsyncInvocation, a StatefulRunAsyncCompletion és a StatefulRunAsyncCancellation események hasznosak a szolgáltatásíró számára a szolgáltatás életciklusának, valamint a szolgáltatás indításának, megszakításának vagy befejezésének időzítésének megértéséhez. Ez az információ hasznos lehet a szolgáltatásproblémák hibakeresése vagy a szolgáltatás életciklusának megértése során.

A szolgáltatásíróknak különös figyelmet kell fordítaniuk a StatefulRunAsyncSlowCancellation és a StatefulRunAsyncFailure eseményekre, mert a szolgáltatással kapcsolatos problémákat jeleznek.

A StatefulRunAsyncFailure mindig ki lesz bocsátva, amikor a szolgáltatás RunAsync() tevékenysége kivételt jelez. A kivétel általában hibát vagy hibát jelez a szolgáltatásban. Emellett a kivétel miatt a szolgáltatás meghibásodik, ezért egy másik csomópontra helyezi át. Ez a művelet költséges lehet, és késleltetheti a bejövő kéréseket a szolgáltatás áthelyezése közben. A szolgáltatásíróknak meg kell határozniuk a kivétel okát, és ha lehetséges, mérsékelni kell azt.

A StatefulRunAsyncSlowCancellation akkor lesz kibocsátva, ha a RunAsync-feladat lemondási kérelme négy másodpercnél hosszabb ideig tart. Ha egy szolgáltatás túl sokáig tart a lemondás befejezéséig, az hatással van arra, hogy a szolgáltatás gyorsan újrainduljon egy másik csomóponton. Ez a forgatókönyv hatással lehet a szolgáltatás általános elérhetőségére.

Performance counters

A Reliable Services futtatókörnyezete a következő teljesítményszámlálókat határozza meg:

Kategória Leírás
Service Fabric tranzakciós replikátor Az Azure Service Fabric tranzakciós replikátorra jellemző számlálók
Service Fabric TStore Az Azure Service Fabric TStore-ra jellemző számlálók

A Reliable State Manager a Service Fabric tranzakciós replikátorral replikálja a tranzakciókat egy adott replikakészleten belül.

A Service Fabric TStore a Reliable Collectionsben kulcs-érték párok tárolására és lekérésére használt összetevő.

A Windows operációs rendszerben alapértelmezés szerint elérhető Windows teljesítményfigyelő alkalmazás a teljesítményszámláló adatainak gyűjtésére és megtekintésére használható. Az Azure Diagnostics egy másik lehetőség a teljesítményszámláló adatainak gyűjtésére és azure-táblákba való feltöltésére.

Teljesítményszámláló-példányok nevei

A nagy számú megbízható szolgáltatással vagy megbízható szolgáltatáspartícióval rendelkező fürtök számos tranzakciós replikátori teljesítményszámláló-példánysal rendelkeznek. Ez a TStore teljesítményszámlálóira is igaz, de a használt megbízható szótárak és megbízható üzenetsorok számával is megszorozva. A teljesítményszámláló-példányok nevei segíthetnek azonosítani az adott partíciót, szolgáltatásreplikát és állapotszolgáltatót a TStore esetében, amelyhez a teljesítményszámláló-példány társítva van.

Service Fabric tranzakciós replikátor kategória

A kategória Service Fabric Transactional Replicatoresetében a számlálópéldányok nevei a következő formátumban vannak:

ServiceFabricPartitionId:ServiceFabricReplicaId

A ServiceFabricPartitionId annak a Service Fabric-partícióazonosítónak a sztringképe, amelyhez a teljesítményszámláló-példány társítva van. A partícióazonosító egy GUID, a sztring-ábrázolása pedig a "D" formátumkijelölővel jön létre Guid.ToString .

A ServiceFabricReplicaId egy megbízható szolgáltatás adott replikájához társított azonosító. A replikaazonosító szerepel a teljesítményszámláló példányának nevében, hogy biztosítsa egyediségét, és elkerülje az azonos partíció által létrehozott más teljesítményszámláló-példányokkal való ütközést. A replikákkal és a megbízható szolgáltatásokban betöltött szerepükkel kapcsolatos további részletek itt találhatók.

A következő számlálópéldány neve jellemző a kategória alatti Service Fabric Transactional Replicator számlálókra:

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

Az előző példában 00d0126d-3e36-4d68-98da-cc4f7195d85e a Service Fabric partícióazonosítójának sztring-ábrázolása, és 131652217797162571 a replikaazonosító.

Service Fabric TStore kategória

A kategória Service Fabric TStoreesetében a számlálópéldányok nevei a következő formátumban vannak:

ServiceFabricPartitionId:ServiceFabricReplicaId:StateProviderId_PerformanceCounterInstanceDifferentiator_StateProviderName

A ServiceFabricPartitionId annak a Service Fabric-partícióazonosítónak a sztringképe, amelyhez a teljesítményszámláló-példány társítva van. A partícióazonosító egy GUID, a sztring-ábrázolása pedig a "D" formátumkijelölővel jön létre Guid.ToString .

A ServiceFabricReplicaId egy megbízható szolgáltatás adott replikájához társított azonosító. A replikaazonosító szerepel a teljesítményszámláló példányának nevében, hogy biztosítsa egyediségét, és elkerülje az azonos partíció által létrehozott más teljesítményszámláló-példányokkal való ütközést. A replikákkal és a megbízható szolgáltatásokban betöltött szerepükkel kapcsolatos további részletek itt találhatók.

A StateProviderId egy megbízható szolgáltatáson belüli állapotszolgáltatóhoz társított azonosító. Az állapotszolgáltató azonosítója szerepel a teljesítményszámláló példányának nevében, így megkülönbözteti a TStore-t egy másiktól.

A PerformanceCounterInstanceDifferentiator egy, az állapotszolgáltatón belüli teljesítményszámláló-példányhoz társított megkülönböztető azonosító. Ez a különbségítő szerepel a teljesítményszámláló példányának nevében annak egyediségének biztosítása és az azonos állapotszolgáltató által létrehozott más teljesítményszámláló-példányokkal való ütközés elkerülése érdekében.

A StateProviderName egy megbízható szolgáltatáson belüli állapotszolgáltatóhoz társított név. Az állapotszolgáltató neve szerepel a teljesítményszámláló példányának nevében, így a felhasználók könnyen azonosíthatják, hogy milyen állapotot biztosít.

A következő számlálópéldány neve jellemző a kategória alatti Service Fabric TStore számlálókra:

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

Az előző példában 00d0126d-3e36-4d68-98da-cc4f7195d85e a Service Fabric partícióazonosítójának sztring-ábrázolása, 131652217797162571 a replikaazonosító, 142652217797162571 az állapotszolgáltató azonosítója és 1337 a teljesítményszámláló-példány megkülönböztetője. urn:MyReliableDictionary/dataStore annak az állapotszolgáltatónak a neve, amely a gyűjtemény urn:MyReliableDictionaryadatait tárolja.

Tranzakciós replikátor teljesítményszámlálói

A Reliable Services futtatókörnyezet a következő eseményeket bocsátja ki a Service Fabric Transactional Replicator kategóriában

Számláló neve Leírás
Txn-műveletek indítása másodpercenként A másodpercenként létrehozott új írási tranzakciók száma.
Txn-műveletek/mp A megbízható gyűjteményeken végrehajtott hozzáadási/frissítési/törlési műveletek száma másodpercenként.
Log Flush Bytes/sec A tranzakciós replikátor által a lemezre kiürített bájtok száma másodpercenként
Szabályozott műveletek/mp A tranzakciós replikátor által a szabályozás miatt másodpercenként elutasított műveletek száma.
Avg. Transaction ms/Commit Tranzakciónkénti átlagos véglegesítési késés ezredmásodpercben
Öblítési késés (ms) A tranzakciós replikátor által kezdeményezett lemezöblítési műveletek átlagos időtartama ezredmásodpercben

TStore teljesítményszámlálók

A Reliable Services futtatókörnyezet a következő eseményeket bocsátja ki a Service Fabric TStore kategóriában

Számláló neve Leírás
Elemszám Az áruházban lévő elemek száma.
Lemezméret Az áruház ellenőrzőpont-fájljainak teljes lemezmérete bájtban.
Checkpoint-fájl írási bájt/mp A legutóbbi ellenőrzőpont-fájlhoz másodpercenként írt bájtok száma.
Lemezátviteli bájtok másolása másodpercenként Az olvasási lemez bájtjainak száma (az elsődleges replikán) vagy (másodlagos replikán) másodpercenként egy tármásolat során.

További lépések

EventSource-szolgáltatók a PerfView-ban