首页 文章

具有包含html的大属性的元素的Azure Cosmos DB的性能

提问于
浏览
0

我们使用Azure Cosmos DB Graph API来缓存来自CMS的项目,这些项目具有包含相当大的html块的属性 .

添加8000项时,Cosmos DB开始变得很慢 .

例如,这个简单的查询大约需要12-15秒才能完成:

g.V().hasLabel('news').limit(10)

每个顶点的数据大约在4-5 kb左右,我在图表设置中排除了Content-property .

我已经将RU增加到5000 / s,Azure门户中的Monitor-tab似乎表明已经足够了 . Estimating throughput needs建议5000 RU应该足够500次读/秒,但我甚至不能做一次 .

查询没有html属性的项目,如g.V() . hasLabel('user')仍然很快 .

我也尝试从索引中排除路径,但没有区别(如果有必要,还没有重新加载项目?)

"excludedPaths": [
        {
            "path": "/Content/?"
        }
    ]

我该怎么做才能加快速度?

1 回答

  • 2

    如果您使用的是.NET SDK,则该请求似乎会检索“hasLabel”过滤器的所有结果,并在客户端SDK代码中执行“限制”过滤 .

    我用Fiddler中的"limit"扩展名嗅探了一些查询,无论值如何,请求中的查询都不包含TOP子句 . 请求正文中的文档db查询如下所示: {"query":"SELECT N_2 FROM Node N_2 WHERE (IS_DEFINED(N_2._isEdge) = false AND (N_2.label = 'news'))"}

    我希望它是: {"query":"SELECT TOP 10 N_2 FROM Node N_2 WHERE (IS_DEFINED(N_2._isEdge) = false AND (N_2.label = 'news'))"}

相关问题