Java 磁盘存储几乎已满时,mongodb的性能是否会降低

Java 磁盘存储几乎已满时,mongodb的性能是否会降低,java,mongodb,performance,server,Java,Mongodb,Performance,Server,我对使用mongodb数据库还是新手 我觉得mongodb很不错,但现在我有一些问题 我有使用mongodb的java应用程序,现在它在生产服务器上运行了3-4个月。分配给mongodb的存储空间为1,5T。服务器是使用mongodb v3.2的redhat 在1到2个月内是好的,因为存储仍然低于分配存储的60%。但由于某些原因,磁盘超过80%后,进程会变慢并变得更慢 mongodb服务器是单节点的,不使用副本集或分片 我的问题是: 这正常吗 如果是,有什么办法解决这个问题吗 提前感谢好吧,有了

我对使用mongodb数据库还是新手

我觉得mongodb很不错,但现在我有一些问题

我有使用mongodb的java应用程序,现在它在生产服务器上运行了3-4个月。分配给mongodb的存储空间为1,5T。服务器是使用mongodb v3.2的redhat

在1到2个月内是好的,因为存储仍然低于分配存储的60%。但由于某些原因,磁盘超过80%后,进程会变慢并变得更慢

mongodb服务器是单节点的,不使用副本集或分片

我的问题是:

  • 这正常吗
  • 如果是,有什么办法解决这个问题吗

  • 提前感谢

    好吧,有了上述细节,很难调试问题。您是否看到数据库服务器上频繁的内存交换?您数据库的RAM是什么?数据集大小?有很多磁盘I/O吗?索引如何?您是否有从第一次开始的IO性能时间的度量?因为是的,这是正常的-当文件系统填满时,查找未分配的空间以放置新数据需要更长的时间,并且搜索已使用的空间以查找请求的数据也需要更长的时间。最简单的解决方案?将数据放在更快的磁盘系统上。销售速度更快的磁盘系统是有原因的。编写快速IO代码很难,而且解决方案往往是非常特定于设计的,而且与只购买一些快速硬件相比,编程时间非常昂贵。您是否尝试创建索引?如果没有索引,MongoDB将扫描集合中的每个文档,以选择与查询语句匹配的文档。索引可以限制解析的文档数量。此外,索引还需要更多的RAM。好吧,有了上面的细节,调试这个问题是很困难的。您是否看到数据库服务器上频繁的内存交换?您数据库的RAM是什么?数据集大小?有很多磁盘I/O吗?索引如何?您是否有从第一次开始的IO性能时间的度量?因为是的,这是正常的-当文件系统填满时,查找未分配的空间以放置新数据需要更长的时间,并且搜索已使用的空间以查找请求的数据也需要更长的时间。最简单的解决方案?将数据放在更快的磁盘系统上。销售速度更快的磁盘系统是有原因的。编写快速IO代码很难,而且解决方案往往是非常特定于设计的,而且与只购买一些快速硬件相比,编程时间非常昂贵。您是否尝试创建索引?如果没有索引,MongoDB将扫描集合中的每个文档,以选择与查询语句匹配的文档。索引可以限制解析的文档数量。此外,索引还需要更多的RAM。