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


A MongoDB-hez készült Azure Cosmos DB speciális diagnosztikai lekérdezéseivel kapcsolatos problémák elhárítása

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

Ebben a cikkben részletesebb lekérdezéseket írunk az Azure Cosmos DB-fiók problémáinak elhárításához az Azure Diagnostics (örökölt) és erőforrás-specifikus (előzetes verzió) tábláknak küldött diagnosztikai naplók használatával.

Az Azure Diagnostics-táblák esetében a rendszer minden adatot egyetlen táblába ír. A felhasználók megadják, hogy melyik kategóriát szeretnék lekérdezni. Ha meg szeretné tekinteni a kérés teljes szöveges lekérdezését, tekintse meg az Azure Cosmos DB-adatok monitorozását az Azure diagnosztikai beállításaival, és ismerje meg, hogyan engedélyezheti ezt a funkciót.

Erőforrás-specifikus táblák esetében az adatok az erőforrás egyes kategóriáinak egyes tábláiba lesznek beírva. Ezt a módot javasoljuk, mert:

  • Sokkal egyszerűbbé teszi az adatokkal való munkát.
  • A sémák jobb felderíthetőségét biztosítja.
  • Javítja a teljesítményt mind a betöltési késés, mind a lekérdezési idő tekintetében.

Gyakori lekérdezések

A gyakori lekérdezések az erőforrás-specifikus és az Azure Diagnostics-táblákban jelennek meg.

A kéréseket vagy lekérdezéseket egy adott időkeretben használó felső N(10) kérelemegység (RU)

//Enable full-text query to view entire query text
CDBMongoRequests
| where TimeGenerated > ago(24h)
| project PIICommandText, ActivityId, DatabaseName , CollectionName, RequestCharge
| order by RequestCharge desc
| take 10

A kérelmek szabályozása (statusCode = 429 vagy 16500) egy adott időablakban

CDBMongoRequests
| where TimeGenerated > ago(24h)
| where ErrorCode == "429" or ErrorCode == "16500"
| project DatabaseName, CollectionName, PIICommandText, OperationName, TimeGenerated

Időtúllépési kérelmek (statusCode = 50) egy adott időablakban

CDBMongoRequests
| where TimeGenerated > ago(24h)
| where ErrorCode == "50"
| project DatabaseName, CollectionName, PIICommandText, OperationName, TimeGenerated

Nagy válaszhosszúságú lekérdezések (a kiszolgáló válaszának hasznos adatmérete)

CDBMongoRequests
//specify collection and database
//| where DatabaseName == "DB NAME" and CollectionName == "COLLECTIONNAME"
| summarize max(ResponseLength) by PIICommandText, RequestCharge, DurationMs, OperationName, TimeGenerated
| order by max_ResponseLength desc

Ru-felhasználás fizikai partíció szerint (a replikakészlet összes replikájában)

CDBPartitionKeyRUConsumption
| where TimeGenerated >= now(-1d)
//specify collection and database
//| where DatabaseName == "DB NAME" and CollectionName == "COLLECTIONNAME"
// filter by operation type
//| where operationType_s == 'Create'
| summarize sum(todouble(RequestCharge)) by toint(PartitionKeyRangeId)
| render columnchart

RU-használat logikai partíció szerint (a replikakészlet összes replikájában)

CDBPartitionKeyRUConsumption
| where TimeGenerated >= now(-1d)
//specify collection and database
//| where DatabaseName == "DB NAME" and CollectionName == "COLLECTIONNAME"
// filter by operation type
//| where operationType_s == 'Create'
| summarize sum(todouble(RequestCharge)) by PartitionKey, PartitionKeyRangeId
| render columnchart  

Következő lépések