[英]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.