Megosztás a következőn keresztül:


Monitorozás és hibakeresés a megállapításokkal az Azure Cosmos DB-ben

A KÖVETKEZŐKRE VONATKOZIK: NoSQL MongoDB Cassandra Gremlin Asztal

Az Azure Cosmos DB elemzéseket nyújt az átviteli sebességről, a tárolásról, a konzisztenciéről, a rendelkezésre állásról és a késésről. Az Azure Portal ezen metrikák összesített nézetét nyújtja. Az Azure Cosmos DB-metrikákat az Azure Monitor API-ból is megtekintheti. A metrikák, például a tárolónév dimenzióértékei nem érzékenyek a kis- és nagybetűkre. Ezért a kis- és nagybetűk érzéketlen összehasonlítását kell használnia, amikor sztring-összehasonlításokat végez ezeken a dimenzióértékeken. Az Azure Monitor metrikáinak megtekintéséhez tekintse meg az Azure Cosmos DB monitorozását.

Ez a cikk bemutatja a gyakori használati eseteket, valamint azt, hogy az Azure Cosmos DB-elemzések hogyan használhatók a problémák elemzésére és hibakeresésére. Alapértelmezés szerint a metrikaelemzések öt percenként lesznek összegyűjtve, és hét napig maradnak.

Az alábbi szakaszok olyan gyakori forgatókönyveket ismertetnek, ahol azure Cosmos DB-metrikákat használhat.

Feljegyzés

Ha adatbázis vagy gyűjtemény alapján szűr a metrikákban, előfordulhat, hogy a "__Empty" vagy az "<Üres>" erőforrásnévként jelenik meg. Ennek az az oka, hogy a metrikaadatokat fiókszinten gyűjtik az adott kéréshez. Ezért metrikaértékként nincs társított adatbázis vagy gyűjtemény.

Annak megismerése, hogy hány kérés sikeres vagy hibát okoz

Első lépésként nyissa meg az Azure Portalt , és lépjen az Elemzések panelre. Ezen a panelen nyissa meg a Kérések lapot. A Kérelmek lap egy diagramot jelenít meg, amely az állapotkód és a művelettípus szerint szegmentált összes kérést jeleníti meg. A HTTP-állapotkódokkal kapcsolatos további információkért tekintse meg az Azure Cosmos DB HTTP-állapotkódjait.

A leggyakoribb hibaállapotkód a 429 (sebességkorlátozás/szabályozás). Ez a hiba azt jelenti, hogy az Azure Cosmos DB-nek küldött kérések nagyobbak a kiosztott átviteli sebességnél. A probléma leggyakoribb megoldása az adott gyűjtemény kérelemegységeinek vertikális felskálázása. További információ: Bevezetés a kiépített átviteli sebességbe az Azure Cosmos DB-ben

Képernyőkép az összes kérésről állapotkód, szabályozott kérelmek és összes kérelem művelettípus szerint.

A partíciókulcs-tartomány átviteli sebességének meghatározása

A partíciókulcsok jó számossága minden skálázható alkalmazáshoz elengedhetetlen. A particionált tárolók átviteli sebességének partíciókulcs-tartományazonosítók szerinti bontásban történő elosztásának meghatározásához lépjen az Elemzések panelre. Nyissa meg az Átviteli sebesség lapot. A diagramon a különböző partíciókulcs-tartományok normalizált RU/s-felhasználása látható.

Képernyőkép az Átviteli sebesség lapról, amelyen az RU/s használat látható.

A diagram segítségével megállapíthatja, hogy van-e gyakori partíció. A PartitionKeyRangeID-k fizikai partícióknak felelnek meg. A normalizált ru-használat metrika egy 0% és 100% közötti érték, amely segít mérni az adatbázison vagy tárolón kiosztott átviteli sebesség kihasználtságát. Az egyenetlen átviteli sebességeloszlás gyakori partíciókat okozhat, amelyek szabályozott kéréseket eredményezhetnek, és újraparticionálást igényelhetnek. Miután azonosította, hogy melyik partíciókulcs okozza a disztribúció eltérését, előfordulhat, hogy egy elosztottabb partíciókulccsal kell újraparticionálást létrehoznia a tárolóban. További információ az Azure Cosmos DB particionálásáról: Particionálás és horizontális skálázás az Azure Cosmos DB-ben.

Az adatok és indexek használatának meghatározása

Fontos meghatározni a particionált tárolók tárolási eloszlását adathasználat, indexhasználat és dokumentumhasználat alapján. Minimalizálhatja az indexhasználatot, maximalizálhatja az adathasználatot, és optimalizálhatja a lekérdezéseket. Az adatok lekéréséhez lépjen az Elemzések panelre, és nyissa meg a Storage lapot.

Képernyőkép az Elemzések panelről, kiemelve a Storage lapot.

Az adatméret és az indexméret összehasonlítása

Az Azure Cosmos DB-ben a teljes felhasznált tárterület az adatméret és az indexméret kombinációja. Az indexméret általában az adatméret töredéke. További információkért tekintse meg az Index méretével foglalkozó cikket. Az Azure Portal Metrikák paneljén a Storage lap a tárterület-felhasználás adatok és indexek szerinti lebontását mutatja be.

// Measure the document size usage (which includes the index size)  
ResourceResponse<DocumentCollection> collectionInfo = await client.ReadDocumentCollectionAsync(UriFactory.CreateDocumentCollectionUri("db", "coll"));
 Console.WriteLine("Document size quota: {0}, usage: {1}", collectionInfo.DocumentQuota, collectionInfo.DocumentUsage);

Ha szeretné megőrizni az indexterületet, módosíthatja az indexelési szabályzatot.

Lassú lekérdezések hibakeresése

Az API for NoSQL SDK-kban az Azure Cosmos DB lekérdezés-végrehajtási statisztikákat biztosít.

IDocumentQuery<dynamic> query = client.CreateDocumentQuery(
 UriFactory.CreateDocumentCollectionUri(DatabaseName, CollectionName),
 "SELECT * FROM c WHERE c.city = 'Seattle'",
 new FeedOptions
 {
 PopulateQueryMetrics = true,
 MaxItemCount = -1,
 MaxDegreeOfParallelism = -1,
 EnableCrossPartitionQuery = true
 }).AsDocumentQuery();
FeedResponse<dynamic> result = await query.ExecuteNextAsync();

// Returns metrics by partition key range Id
IReadOnlyDictionary<string, QueryMetrics> metrics = result.QueryMetrics;

A QueryMetrics részletesen ismerteti, hogy a lekérdezés egyes összetevői mennyi ideig tartottak. A hosszú ideig futó lekérdezések leggyakoribb kiváltó oka a vizsgálat, ami azt jelenti, hogy a lekérdezés nem tudta alkalmazni az indexeket. Ez a probléma jobb szűrési feltétellel oldható meg.

Vezérlősík-kérelmek figyelése

Az Azure Cosmos DB korlátozza az egymást követő 5 perces időközökkel végezhető metaadat-kérelmek számát. Az ezen korlátokon túllépő vezérlősík-kérelmek szabályozást tapasztalhatnak. A metaadat-kérelmek bizonyos esetekben egy fiók összes metaadatait tartalmazó fiók átviteli sebességét master partition is felhasználhatják. Az átviteli sebességen túllépő vezérlősík-kérelmek sebességkorlátozást (429s) tapasztalnak.

Első lépésként nyissa meg az Azure Portalt , és lépjen az Elemzések panelre. Ezen a panelen nyissa meg a Rendszer lapot. A Rendszer lapon két diagram látható. Az egyik, amely egy fiók összes metaadat-kérését megjeleníti. A második a fiók metaadatait tároló fiók master partition átviteli sebességének metaadatait jeleníti meg.

Képernyőkép az Elemzések panelről, kiemelve a metaadat-kérelmek grafikonját a Rendszer lapon.

Képernyőkép az Elemzések panelről, kiemelve a Metaadat-kérelmek 429 gráfot a Rendszer lapon.

A fenti Metaadat-kérés állapotkód szerinti grafikonja az időtartomány növelése során nagyobb részletességgel összesíti a kéréseket. A legnagyobb 5 perces időtartomány 4 óra. Ha a metaadat-kérelmeket nagyobb időtartományban, konkrét részletességgel szeretné monitorozni, használja az Azure Metricst. Hozzon létre egy új diagramot, és válassza ki a Metaadat-kérelmek metrikáit. A jobb felső sarokban válassza ki az 5 percet az idő részletességéhez az alább látható módon. A metrikák lehetővé teszik a felhasználók számára, hogy riasztásokat hozzanak létre rajtuk, ami hasznosabbá teszi őket, mint az Insights.

Képernyőkép a Metrikák panelről, amely kiemeli a fiók metaadat-kéréseit, és 5 perces részletességet biztosít.

Következő lépések

Az adatbázis teljesítményének javításáról az alábbi cikkekben olvashat bővebben: