首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cosmos DB查询间歇延迟

Cosmos DB查询间歇延迟
EN

Stack Overflow用户
提问于 2022-08-23 17:57:03
回答 1查看 82关注 0票数 0

我有一个单例Cosmos DB客户端作为一个具有默认选项的单例运行。我使用的是一个.NET 6.0 WebAPI项目,运行在一个启用“始终打开”的Azure应用程序服务中。和Cosmos帐户位于同一区域,即UE2。API查询Cosmos容器并返回结果。

我已经注意到,第一个查询的延迟总是很慢(4-6秒),随后的查询要快得多(-100 is ),但有时也会有随机的高延迟。这不是冷启动方案,客户端已经被DI管道初始化了。我也不受利率限制。

这是我的单身客户

代码语言:javascript
复制
    public CosmosDbService(IConfiguration configuration)
    {
        var account = configuration.GetSection("CosmosDb")["Account"];
        var key = configuration.GetSection("CosmosDb")["Key"];
        var databaseName = configuration.GetSection("CosmosDb")["DatabaseName"];
        var containerName = configuration.GetSection("CosmosDb")["Container"];
        CosmosClient client = new (account, key);
        _myContainer = client.GetContainer(databaseName, containerName);
    }

下面是传递Linq查询的查询的内容:

代码语言:javascript
复制
 public class RetrieveCarRepository : IRetrieveCarRepository
{
    public async Task<List<CarModel>> RetrieveCars(IQueryable<CarModel> querydef)
    {
        var query = querydef.ToFeedIterator();

        List<CarModel> cars = new ();

        while (query.HasMoreResults)
        {
            var response = await query.ReadNextAsync();

            foreach (var car in response)...do a thing

我已经看过几个宇宙训练视频和宇宙课程,但仍然无法对正在发生的事情有一个想法。

EN

回答 1

Stack Overflow用户

发布于 2022-08-23 22:34:56

从评论中。

有关使用.NET SDK的查询性能,请参见:https://learn.microsoft.com/en-us/azure/cosmos-db/performance-tips-query-sdk?tabs=v3&pivots=programming-language-csharp#use-local-query-plan-generation

在以下情况下,查询计划生成可能会影响延迟,并且可以避免:

该查询是在一个分区上重新处理的(而不是cross-partition).

  • The工作负载在上运行,编译为x64,并且与Nuget共存)。这反过来将通过ServiceInterop.dll利用本地查询计划生成。

在这两种情况下,都应该删除查询计划请求并改进延迟。

作为一般规则,应该对P99上的延迟进行1小时的调查,以了解它是如何受到影响的。几个较高的延迟请求总是会发生。

还请记住,查询延迟将根据查询类型、要传输的数据量和页面数而有所不同。您可以捕获诊断并使用:https://learn.microsoft.com/azure/cosmos-db/troubleshoot-dot-net-sdk-slow-request

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73463172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档