繁体   English   中英

MongoDB在服务器上的读取性能非常慢

[英]MongoDB very slow read performance on server

基本上,我有执行批处理作业的Windows服务。

我有两个相关的集合,customerAccounts和事件。 事件收集记录客户在站点上执行的操作,包括时间戳,事件名称,发生的页面以及用户名。

该服务遍历每个帐户,并根据其在事件集合中具有的事件和一组用户定义的规则,计算出其旅行阶段和帐户关闭的风险。

目前,我的数据库中大约有3500个帐户和大约100,000个事件。 在我的开发PC上运行该服务仅需一分钟多一点,但在服务器上却要花很长的时间(我估计修改该服务大约需要2.5个小时,因此只能在一个客户帐户上执行该工作。

我的机器是具有16GB RAM的Core i7,服务器是具有24GB RAM的Intel Xeon E5-2609(64位,Win 2008 R2)。 我将数据库放在一台更旧的服务器(32位,Windows 2003)上,该服务运行了大约2分钟。 因此,我知道在我的开发机上只需要一分钟多的时间,而在较旧的服务器硬件上只需要2分钟多的时间,而在现代服务器上则需要几个小时。

最初,Mongo Shell警告服务器上已启用NUMA,应将其关闭以避免性能问题。 此后已关闭,但似乎对性能没有影响。

当我运行db.currentOp(); 在服务器上,我注意到它总是有某种性质的查询“ createIndexes”(索引是在很久以前创建的),但是当我mongodump /将数据库还原到我的开发机并运行service / currentOp时,“ createIndexes”查询不存在。 除此之外,似乎没有其他事情让我跳出来。

在这个神秘的性能问题上,没有人有任何想法/帮助吗? 如果需要的话,我会发布currentOp / mongostats。

快速解答:我重新安装了Mongo。 没有花哨的配置,只需运行安装程序即可解决此问题。

我从来没有弄清楚Mongo为什么不断创建索引。 一天的事件日志中,日志文件的大小为0.25GB,用于“创建索引”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM