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

Performance of Azure Cosmos DB of element with big property containing html

我们正在使用 Azure Cosmos DB Graph API 从 CMS 缓存项目,这些项目的属性包含相当大的 html.

添加 8000 个项目时,Cosmos DB 开始变得非常慢。

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

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

每个顶点的数据大约为 4-5 kb,我已经排除了图形设置中的 Content-属性。

我已将 RU 增加到 5000/s,Azure 门户中的 Monitor-tab 似乎表明已经足够了。 Estimating throughput needs 建议 5000 RU 应该足够 500 reads/s 但我连一个都做不到。

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

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

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

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

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

我在 Fiddler 中使用 "limit" 扩展嗅探了一些查询,无论值如何,请求中的查询都不包含 TOP 子句。请求正文中的文档数据库查询如下所示: {"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'))"}