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

A KÖVETKEZŐKRE VONATKOZIK: Nosql MongoDB Cassandra Gremlin Táblázat

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 dimenzióértékei, például a tároló neve nem érzéketlenek. 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. A metrikák Azure Monitorból való megtekintéséről az Azure Cosmos DB monitorozása című témakörben olvashat.

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

Elemzések megtekintése Azure Portal

  1. Jelentkezzen be a Azure Portal, és navigáljon az Azure Cosmos DB-fiókjához.

  2. A fiókmetrikákat a Metrikák panelen vagy az Elemzések panelen tekintheti meg.

    • Mutatókat: Ez az ablaktábla olyan numerikus metrikákat tartalmaz, amelyeket rendszeres időközönként gyűjtünk össze, és a rendszer bizonyos aspektusait ismerteti egy adott időpontban. Megtekintheti és figyelheti például a kiszolgálóoldali késési metrikát, a normalizált kérelemegység-használati metrikát stb.

    • Betekintést: Ez a panel testre szabott monitorozási felületet biztosít az Azure Cosmos DB-hez. Az elemzések ugyanazokat a metrikákat és naplókat használják, amelyeket az Azure Monitorban gyűjtünk, és összesített nézetet jelenítünk meg a fiókjához.

  3. Nyissa meg az Elemzések panelt. Az Elemzések panel alapértelmezés szerint megjeleníti az átviteli sebességet, a kéréseket, a tárolást, a rendelkezésre állást, a késést, a rendszer- és felügyeleti műveleti metrikákat a fiók minden tárolójához. Kiválaszthatja azt az időtartományt, adatbázist és tárolót , amelyhez elemzéseket szeretne megtekinteni. Az Áttekintés lapon megtekintheti a ru/s használatát, az adathasználatot, az indexhasználatot, a szabályozott kérelmeket és a normalizált RU/s-használatot a kiválasztott adatbázishoz és tárolóhoz.

    Képernyőkép az Azure Cosmos DB teljesítménymetrikáiról a Azure Portal.

  4. Az Elemzések panelen a következő metrikák érhetők el:

    • Átviteli sebesség. Ez a lap a felhasznált vagy meghiúsult kérelemegységek teljes számát mutatja (429 válaszkód), mert a tárolóhoz kiosztott átviteli sebesség vagy tárkapacitás túllépte az értéket.

    • Kérések. Ez a lap az állapotkód, a művelet típusa és a sikertelen kérések száma (429 válaszkód) szerint feldolgozott kérelmek teljes számát mutatja. A kérések meghiúsulnak, ha a tárolóhoz kiosztott átviteli sebesség vagy tárkapacitás meghaladja a kapacitást.

    • Tároló. Ez a lap az adatok méretét és az indexhasználatot mutatja a kiválasztott időszakban.

    • Rendelkezésre állás. Ez a lap a sikeres kérelmek százalékos arányát mutatja az óránkénti összes kérelemhez képest. Az Azure Cosmos DB SLA-k határozzák meg a siker arányát.

    • Késés. Ezen a lapon az Azure Cosmos DB olvasási és írási késése látható abban a régióban, ahol a fiókja működik. Egy georeplikált fiók késését régiók között vizualizálhatja. A kiszolgálóoldali késést különböző műveletek is megtekinthetik. Ez a metrika nem a kérések végpontok közötti késését jelöli.

    • Rendszer. Ez a lap azt mutatja be, hogy az elsődleges partíció hány metaadat-kérést szolgál ki. Segít a szabályozott kérések azonosításában is.

    • Felügyeleti műveletek. Ez a lap a fiókkezelési tevékenységek metrikáit jeleníti meg, például a fióklétrehozáshoz, a törléshez, a kulcsfrissítésekhez, a hálózati és replikációs beállításokhoz.

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

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

Első lépésként lépjen a Azure Portal, és lépjen az Elemzések panelre. Ezen a panelen nyissa meg a Kérések lapot. A Kérések lapon egy diagram látható, amelyen az állapotkód és a művelet típusa szerint szegmentált összes kérelem látható. További információ a HTTP-állapotkódokról: HTTP-állapotkódok az Azure Cosmos DB-hez.

A leggyakoribb hibaállapot-kó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 állapotkód, a szabályozott kérelmek és a teljes kérések művelettípus szerinti összegéről.

Az átviteli sebesség felhasználásának meghatározása partíciókulcs-tartomány alapján

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 azonosíthatja, hogy van-e gyakori elérésű partíció. Az egyenetlen átviteli sebesség eloszlása gyakori elérésű 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 a tárolót egy elosztottabb partíciókulccsal kell újraparticionálja. 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 Tárolás 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ékét adja. További információt az Indexméret című cikkben talál. A Azure Portal Metrikák paneljén a Tárolás lap az adatok és indexek alapján mutatja be a tárolási felhasználás lebontását.

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

A NoSQL SDK-k API-jában 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érések monitorozása

Az Azure Cosmos DB korlátozza az egymást követő 5 perces időközökben végezhető metaadat-kérelmek számát. Az ezen korlátokon túllépő vezérlősík-kérések szabályozást tapasztalhatnak. A metaadat-kérelmek bizonyos esetekben átviteli sebességet is igénybe vehetnek egy master partition olyan fiókon belül, amely egy fiók összes metaadatát tartalmazza. Az átviteli sebességen túllépő vezérlősík-kérések sebességkorlátozást tapasztalnak (429s).

Első lépésként lépjen a Azure Portal, és lépjen az Elemzések panelre. Ebből a panelről 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 metaadataiból származó metaadat-kérelmek átviteli sebességét mutatja.

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 grafikont a Rendszer lapon.

A fenti Metadata Request by Status Code (Metaadat-kérelem állapotkód alapján) grafikon az időtartomány növelésekor nagyobb részletesség mellett összesíti a kéréseket. Az 5 perces időtartományhoz használható legnagyobb időtartomány 4 óra. A metaadat-kérelmek adott részletességgel történő nagyobb időtartományban történő monitorozásához használja az Azure-metrikákat. Hozzon létre egy új diagramot, és válassza a Metaadat-kérelmek metrika lehetőséget. A jobb felső sarokban válassza az 5 percet az Idő részletessége beállításnál az alább látható módon. A metrikák azt is lehetővé teszik, hogy a felhasználók riasztásokat hozzanak létre rajtuk, ami hasznosabbá teszi őket, mint az Insights.

Képernyőkép a Metrikák panelről, kiemelve a fiók metaadat-kérelmeit és az 5 perces részletességet.

Következő lépések

Az alábbi cikkekből többet is megtudhat az adatbázis teljesítményének javításáról: