Share via


Apache Gremlin için Azure Cosmos DB ile gelişmiş tanılama sorgularıyla ilgili sorunları giderme

ŞUNLAR IÇIN GEÇERLIDIR: Nosql MongoDB Cassandra Gremlin

Bu makalede, Azure Tanılama (eski) ve kaynağa özgü (önizleme) tablolara gönderilen tanılama günlüklerini kullanarak Azure Cosmos DB hesabınızla ilgili sorunları gidermeye yardımcı olmak için daha gelişmiş sorgular yazmayı ele alacağız.

Azure Tanılama tablolarda tüm veriler tek bir tabloya yazılır. Kullanıcılar sorgulamak istedikleri kategoriyi belirtir. İsteğinizin tam metin sorgusunu görüntülemek istiyorsanız bu özelliği etkinleştirmeyi öğrenmek için bkz. Azure'da tanılama ayarlarını kullanarak Azure Cosmos DB verilerini izleme .

Kaynağa özgü tablolar için veriler, kaynağın her kategorisi için tek tek tablolara yazılır. Aşağıdakiler nedeniyle bu modu öneririz:

  • Verilerle çalışmayı çok daha kolay hale getirir.
  • Şemaların daha iyi bulunabilirliğini sağlar.
  • Hem alma gecikme süresi hem de sorgu sürelerinde performansı artırır.

Yaygın sorgular

Kaynağa özgü ve Azure Tanılama tablolarında yaygın sorgular gösterilir.

Belirli bir zaman diliminde istekleri veya sorguları en çok tüketen N(10) İstek Birimi (RU)

CDBGremlinRequests
| project PIICommandText, ActivityId, DatabaseName , CollectionName
| join kind=inner topRequestsByRUcharge on ActivityId
| project DatabaseName , CollectionName , PIICommandText , RequestCharge, TimeGenerated
| order by RequestCharge desc
| take 10

Belirli bir zaman penceresinde kısıtlanan istekler (statusCode = 429)

CDBGremlinRequests
| project PIICommandText, ActivityId, DatabaseName , CollectionName
| join kind=inner throttledRequests on ActivityId
| project DatabaseName , CollectionName , PIICommandText , OperationName, TimeGenerated

Büyük yanıt uzunluklarına sahip sorgular (sunucu yanıtının yük boyutu)

CDBGremlinRequests
//specify collection and database
 //| where DatabaseName == "DB NAME" and CollectionName == "COLLECTIONNAME"
| join kind=inner operationsbyUserAgent on ActivityId
| summarize max(ResponseLength) by PIICommandText
| order by max_ResponseLength desc

Fiziksel bölüme göre RU tüketimi (çoğaltma kümesindeki tüm çoğaltmalar arasında)

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

Mantıksal bölüme göre RU tüketimi (çoğaltma kümesindeki tüm çoğaltmalar arasında)

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  

Sonraki adımlar