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ény
Esemény neve | Eseményazonosító | Level | Esemény leírása |
---|---|---|---|
StatefulRunAsyncInvocation | 0 | 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.
Teljesítményszámlálók
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 Replicator
eseté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 TStore
eseté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:MyReliableDictionary
adatait 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. |