长聚合管道的MongoDB性能改进

时间:2019-06-19 04:27:34

标签: mongodb mongodb-query aggregation-framework

我正在尝试提高mongo查询(一页长)的性能,该查询使用各种流水线阶段并将数据转换为各种格式。

SAMPLE DATA

https://jsoneditoronline.org/?id=d2075cafc09e4c1eb71d323b81fb474f

QUERY

https://jsoneditoronline.org/?id=6ecf6baac4a247d6952096aa1cc019b3

EXECUTION STATS WITH INDEX ON MULTIPLE FIELD

https://jsoneditoronline.org/?id=a1dd2e4286c14c3e886e120f59a993d5

单个查询的执行时间少于2秒,但是使用以下配置进行负载测试

总记录数= 20,000 并发-50(30分钟) 具有3个副本集的M30实例 在所有匹配和排序字段上设置了索引 负载测试完成后,没有其他进程/查询在运行。

此查询的另一个版本使用facetgroup。通过烧瓶服务器运行这些查询时,db.profile统计信息表明查询执行大约花费了17-30秒。

这是mongodb在复杂查询中的预期行为。

0 个答案:

没有答案