[英]Query performance measure Cosmos DB
我是Cosmos DB的新手,我嘗試做一些性能測量來查詢cosmos db集合(documentdb API)duo c#-sdk。 我嘗試使用簡單的秒表來做到這一點。 但是,當我使用以下代碼進行查詢時,我總是會在14ms到33ms之間獲得波動的測量數據。 如果我查詢有關一個或10000個數據的記錄,它是獨立的;如果我在EnableScaninQuery處於活動狀態的情況下,對分區鍵值,另一個索引值或未索引值進行查詢,則它也是獨立的。 所以我想這段代碼有問題嗎? 我希望有更多的時間來收集10000條未索引數據的記錄,而不是查詢一個分區鍵數據。 FeedOptions還提供PopulateQueryMetrics方法。 在我的C#應用程序中,有什么方法可以使用此指標來訪問查詢時間?
FeedOptions asd = new FeedOptions
{
EnableCrossPartitionQuery = true,
// EnableScanInQuery = true,
//PopulateQueryMetrics = true,
MaxItemCount = 500,
MaxBufferedItemCount = 10000,
MaxDegreeOfParallelism = -1
};
watch.Start();
try
{
IDocumentQuery<Item> query = client.CreateDocumentQuery<Item>(
UriFactory.CreateDocumentCollectionUri(Database, coll), asd)
.Where(m => m.userid == 999999).AsDocumentQuery<Item>();
WriteToConsoleAndPromptToContinue("Query took {0} ms ", watch.ElapsedMilliseconds);
watch.Stop();
嘗試遍歷整個結果集以產生可靠的結果。
while (query.HasMoreResults)
{
var result = await query.ExecuteNextAsync<Item>();
// Process paged results
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.