在几千个文档之后,Spring + MongoDB性能下降了一半

时间:2017-08-29 06:17:54

标签: spring mongodb mongotemplate

让一个从干净的数据库开始的服务能够以70 /秒的速率插入文档,几千之后我看到性能下降了一半。

文档遵循类似于http://schema.org/Product及其http://schema.org/Offer

的结构

我正在使用Spring + MongoTempate和MongoDB 3.4,每个商品都有自己的ID和卖家ID:

     @Override
public void onStart(){
    super.onStart();
   /* File f = new File(PREF_FILE_NAME);
    if (f.exists()){*/
        idType = prefs.getInt("idType", 0);
        idNumber = prefs.getString("idNumber", "");
        expiryDate = prefs.getString("expiryDate", "");

        edtIdNumber = (EditText) findViewById(R.id.edtIdNumber);
        txtDate = (TextView) findViewById(R.id.txtDate);
        txtDate.setText(expiryDate);
        edtIdNumber.setText(idNumber);
        txtDate.setText(expiryDate);


}

1 个答案:

答案 0 :(得分:0)

问题是由于缺乏索引造成的。

虽然这听起来很明显,但实际上需要仔细查看才能找到最佳的索引集合,因为太多也是问题的原因。

使用mongostat和Mongo Compass工具完成此任务。在其他几个方面,最令人惊叹的功能是Compass在数据库性能分析下发现的“最慢的操作”。