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.
Elemzések megtekintése az Azure Portalról
Jelentkezzen be az Azure Portalra , és lépjen az Azure Cosmos DB-fiókjához.
A fiókmetrikákat a Metrikák panelen vagy az Elemzések panelen tekintheti meg.
Metrikák: Ez a panel olyan numerikus metrikákat biztosít, amelyeket rendszeres időközönként gyűjtünk össze, és egy adott időpontban a rendszer bizonyos aspektusait ismerteti. Megtekintheti és figyelheti például a kiszolgálóoldali késési metrikát, a normalizált kérelemegységek használati metrikáit stb.
Elemzések: 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 össze, és összesített nézetet jelenítünk meg a fiókjához.
Nyissa meg az Elemzések panelt. Az Elemzések panel alapértelmezés szerint megjeleníti a fiók minden tárolójának átviteli sebességét, kéréseit, tárolási, rendelkezésre állási, késési, rendszer- és felügyeleti műveleteinek mérőszámait. Kiválaszthatja azt az időtartományt, adatbázist és tárolót , amelyhez meg szeretné tekinteni az elemzéseket. 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-felhasználást a kiválasztott adatbázis és tároló esetében.
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 jeleníti meg (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érelmek 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árhely. 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. 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. A földrajzilag replikált fiókok régiók közötti késését 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 hány metaadat-kérést szolgál ki az elsődleges partíció. Segít a szabályozott kérelmek azonosításában is.
Felügyeleti műveletek. Ez a lap a fiókkezelési tevékenységek , például a fióklétrehozás, a törlés, a kulcsfrissítések, a hálózati és a replikációs beállítások metrikáit mutatja be.
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 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
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ó.
A diagram segítségével megállapíthatja, hogy van-e gyakori partíció. 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.
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.
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övetkező lépések
Az adatbázis teljesítményének javításáról az alábbi cikkekben olvashat bővebben:
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: