Mongodb文件分配器需要更多的时间【JAVA教程】

!
也想出现在这里? 联系我们
信息

Mongodb文件分配器需要更多的时间,第1张

概述Mongodb文件分配器需要更多的时间

当mongodb在数据目录下创build一个新文件时,需要更多时间来创build:

第376行:星期四15:01:49.407 [fileAllocator]分配新的数据文件> data db test.3,用零填充…行476:Thu Jan 15 18:03:55.650 [fileAllocator] done allocating datafile > data db test.3,大小:512MB,耗时126.242秒

由于该节点在该节点不能与mongodb连接之后给出以下错误。

{“error”:“{err:\’连接到[localhost:27017]超时}”,“level”:“error”,“message”:“未捕获的exception:”,“timestamp”:“2015-01- 15T20:45:03.702Z“}

System.Speech语音合成器的奇怪问题

为当前域创build一个安全标识符

peekmessage(创build窗口循环)

webkit尖锐的windows包

检索窗口中的当前驱动器号(来自python)

我的理解是,这个错误来自MongoMQ lib。 我不知道如何处理它。 任何人都可以帮助解决这个问题。

在windows中的静态HTML

在C#中复制剪切

在Julia(在windows中)更改软件包目录的path

Py2exe – 无法在windows 7计算机上运行在windows 10上创build的.exe文件

在windows主机上访问Docker容器URL

windows答案

这里可以应用的最明显的问题是如果您使用的是windows 7或windows server 2008.与这些 *** 作系统相关的问题( SERVER-8480 )可以通过应用此修补程序解决, 这意味着由MongoDB分配的数据文件必须填满零。

与常规方法相比,这是一个漫长的过程。 不幸的是,即使安装了修补程序,版本2.6和2.4,MongoDB仍然认为问题仍然存在于windows 7或server 2008上,无论如何都是零填充。 版本2.8+通过专门检测修补程序并恢复为不填零填充修复了问题。

为了给你一个差异的想法,下面是windows 7上2.8.0-rc5(它检测到修复)的示例日志行:

2015-01-22T16:56:51.749+0000 I STORAGE [fileAllocator] done allocating datafile E:datadb280test.2,size: 2047MB,took 0.016 secs

这里是一个来自同一台机器的样本日志行,与2.6.5版本进行相同的分配:

2015-01-22T16:47:33.762+0000 [fileAllocator] done allocating datafile E:datadb265test.2,took 112.071 secs

这是112.071秒对0.016秒。 windows 8/2012或2.8+(一旦发布,并且当然安装了修补程序)似乎是如果分配给您造成问题的地方。

在windows 2.6.4之前版本的MongoDB中还有几个更为常见的已知问题,最值得注意的是使用2.6.4解决的SERVER-13729和SERVER-13681 。

其余问题正在SERVER-12401中进行跟踪,并且依赖于Microsoft的此修复程序来改善 *** 作系统对内存映射文件的刷新。 不幸的是,该修补程序仅适用于windows 8和2012,但尚未在windows 7和2008中提供。

因此,确保至少使用2.6.4+,如果可能的话使用windows 8或2012.将远程存储中看到的任何性能与本地磁盘进行比较,以确定这是否是一个影响因素,这也可能会有所帮助。

linux的答案

(保存在其他人使用linux时在这里结束)

如果您正在使用受支持的文件系统,这应该只需要几毫秒。 我怀疑你正在使用别的东西( ext3也许?),或者也许使用一个非常旧的版本的linux。

支持的文件系统使用fallocate()来分配数据文件,这非常快速。 如果这不被支持,则文件必须通过填充零来分配,这将花费很长时间。

即使如此,126秒零填充一个512MB的文件是非常缓慢的,这表明磁盘是缓慢/破碎,或超额认购/饱和,努力跟上。

如果你想评估在MongoDB之外的分配,我写了一个小的bash脚本为MongoDB预先分配数据文件 (用于测试目的),它使用上面提到的fallocate()并在我的测试中以毫秒为单位完成多个千兆字节系统。

总结

以上是内存溢出为你收集整理的Mongodb文件分配器需要更多的时间全部内容,希望文章能够帮你解决Mongodb文件分配器需要更多的时间所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞160 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容