Я новичок в Cosmos DB, и я пытаюсь выполнить некоторые измерения производительности для запросов к коллекции Cosmos db (documentdb api) duo c#-sdk. Я пытаюсь сделать это с помощью простого секундомера. Но когда я делаю запрос со следующим фрагментом кода, я всегда получаю колеблющиеся данные измерений между 14 мс и примерно 33 мс. Он независим, если я запрашиваю запись об одном или 10000 данных, а также независим, если я запрашиваю значение ключа раздела, другое индексированное значение или неиндексированное значение с активным EnableScaninQuery. Я так понимаю, что с этим кодом что-то не так? Я ожидаю гораздо больше времени для сбора 10000 записей неиндексированных данных, чем для запроса данных одного ключа раздела. Также FeedOptions предоставляет метод PopulateQueryMetrics. Есть ли способ получить доступ к времени запроса, используя эти показатели в моем приложении С#?
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();