首页 > 解决方案 > Mongotemplate 性能问题

问题描述

首先,我发现了类似的问题,但没有什么对我有用,它基于旧版本的 MongoTemplate。 Spring Data Mongodb 的性能问题

但是,我面临同样的问题。在开发环境中,我得到了大约 700 个文档,看起来或多或少像这样 + 每个文档中都有一些额外的字符串值。

@Document
public class Document {
    @Id
    private String id;

    private List<SubDocumentA> subDocumentsA;
    private List<SubDocumentB> subDocumentsB;
}

public class SubDocumentA {
    private String type;
    private List<SomeData> someData;
}

我要执行的查询是,这里重要的是,直接在 mongo shell 上执行它会产生即时结果。我还在使用我的应用程序时分析了数据库,查询大约需要 5 毫秒。

Query query = new Query((Criteria.where("subDocumentA.type").is("someType")));
result = mongoTemplate.find(query, Document.class);

它在开发环境中返回超过 500 个结果,在生产环境中可能返回 10-20 倍。问题是,在开发环境中(很可能)将数据库响应解析为 POJO 需要 7-10 秒。

这是 JProfiler 显示的内容 在此处输入图像描述 在此处输入图像描述

标签: javamongodbperformancemongotemplate

解决方案


推荐阅读