草庐IT

performers

全部标签

performance - 用于地理空间查询的 MongoLab 上的 MongoDB 性能

我有一个包含超过400,000个文档的地点集合。我正在尝试进行地理空间查询,但它们似乎总是超时。我从MongoLab界面进行搜索:{"location":{"$near":[38,-122]}}然后页面就超时了。还通过我的控制台运行了这个命令:db.runCommand({geoNear:"places",near:[50,50],num:10})它确实成功了,但大约需要5分钟才能完成。我确实有一个位置上的地理空间索引。location{"location":"2d"}是否不可能对如此大的集合进行地理空间查询(毕竟对于MongoDB集合来说相当小)?编辑:MongoLab就此问题亲自联

performance - 就空间消耗而言,MongoDB 复合索引与单字段索引

根据this后复合索引在维度上更大(我找不到关于文档的太多信息,所以如果你能指出我那里,我将不胜感激)。假设我必须通过像这样的地址集合来搜索整个地址(我们可以假设我将始终拥有集合和查询中的所有可用字段){name:String,street:String,postcode:String,City:String,Country:String}我的问题是:复合索引应该有多大?如果复合索引比单个字段大,那么将所有值连接到所有对象的散列添加到所有对象,将单个索引添加到散列字段并通过它进行搜索(虽然听起来不像好的做法)? 最佳答案 Ifaco

performance - Mongodb - 在内存中创建或使用缓存

我将创建一个5节点的mongodb集群。它将比写入更繁重,并且有一个问题是哪种设计会带来更好的性能。这些节点将专用于mongodb。举个例子,假设每个节点都有64GB的内存。从mongodb文档中它指出:MongoDBautomaticallyusesallfreememoryonthemachineasitscache这是否意味着只要我的数据小于可用的ram,它就会像拥有内存数据库一样?我还读到可以完全在内存中实现mongodbhttp://edgystuff.tumblr.com/post/49304254688/how-to-use-mongodb-as-a-pure-in-me

performance - MongoDB 索引定义策略

我有一个基于MongoDB的数据库,里面有大约10万到50万个文本文档,而且这个集合还在不断增长。系统应支持按文档的不同字段进行查询,例如标题、类别、重要性等该系统是一个近乎实时的系统,每5-10分钟获取一次新文档。为了提高查询的性能,为文档的每个经常查询的字段(字段类型:小文本、数字、日期)定义一个单独的索引是否是个好主意?或者还有其他提高MongoDB查询性能的最佳实践? 最佳答案 您应该根据您试图查找的结果使用/制作索引。为您在不同时间尝试查找的不同字段设置不同的索引是个好主意。但请记住,索引会占用您的RAM。你做索引越多,它

performance - 缓慢的 MongoDB 查询 : can you explain why?

我有一个MongoDB查询,运行时间过长,但它:仅扫描6个对象点击索引持续花费约1500毫秒(没有分页或其他占用)mongostat中的索引miss%为0它出现在分析器中(没有explain()),我不明白为什么这么慢。有什么想法吗?gimmebar:PRIMARY>db.assets.find({owner:"123",avatar:false,private:false}).sort({date:-1}).explain(){"cursor":"BtreeCursorowner_1_avatar_1_date_-1","nscanned":6,"nscannedObjects":6

performance - MongoDB 按 ID 慢查询

我最近将我的MongoDB数据库从WindowsServer迁移到了CentOS。版本是2.4.9。我注意到我通过_id字段检索记录的速度很慢!我在周末运行了一个修复数据库,但没有解决问题。我有这种通过ID检索记录的方法(使用IN运算符)(使用springdatamongodb1.4.1.RELEASE):@OverridepublicMapfindAsMapIds(finalString[]ids,finalComponentType...comps){if(null==ids||0==ids.length){returnnull;}Mapresult=newHashMap();fi

performance - 如何使用 mongostats 诊断 mongodb 内部的性能问题

我一直在使用mongostats来诊断我的mongodb实例中的整体事件。我如何使用它来诊断性能问题/降级?我真正有兴趣深入了解的一个字段是锁定百分比和基于所有其他字段结果的预期行为。我觉得这个功能有点含糊,需要进一步完善。 最佳答案 锁定的%是全局写锁(记住,mongo有一个进程范围的写锁)在每个样本中被占用的时间百分比。当您增加写入次数(插入、更新、删除、db.eval()等)时,该百分比会增加。高值意味着数据库花费大量时间被锁定以等待写入完成,结果是在释放锁之前无法完成任何查询。因此,整体查询吞吐量将减少(有时会显着减少)。“

performance - "nscanned"查询上的 "update"值非常高 - 似乎高于所有索引中所有条目的总和

我在偶尔的更新查询中得到非常高的“nscanned”数字,而“nscannedObjects”相对较低。我从mongodb日志中获取这些数字,作为慢速查询自动记录的一部分(这些更新需要100毫秒到500毫秒之间的任何时间)。更新后的集合有198K个项目,大小刚刚超过100MB。它有许多不同的字段(超过30个),以及这些字段及其组合的31个索引。这是来自MongoDB.log的完整条目-包括查询和结果:2014-09-22T11:55:22.507+0000[conn45755]updatemydatabase.mycollectionquery:{_id:ObjectId('53d13

performance - mongodb - 推荐用于大量数据点的树结构

我正在从事一个项目,该项目记录跨多个地区的商品价格历史记录,并且我计划将数据存储在mongodb集合中。由于我对mongodb比较陌生,所以我很好奇对于大量数据,推荐的文档结构可能是什么。情况是这样的:我正在记录200多个地区的大约90,000件商品的价格历史记录。我希望每小时记录每件商品的价格,并为任何给定商品提供2周的历史记录。结果大约是(90000*200*24*14)~=60亿个数据点,或者每个项目大约67200个。每天将运行一次清理查询以删除超过14天的记录(更具体地说,将其存档到gzip压缩的json/文本文件中)。就我将从中获取的数据而言,我主要对两件事感兴趣:1)特定区

performance - MongoDB:通过嵌套键与顶级键查找

选项1:{_id:ObjectId,text:String,author:{id:ObjectId,name:String,email:String}}选项2:{_id:ObjectId,text:String,authorId:Id,author:{name:String,email:String}}我有一个类似于上面选项1的Post文档架构。有一个单独的“作者”集合,上面的作者ID字段正在引用它。这里重复了“姓名”和“电子邮件”;Authorcollection上有更多的作者信息。我对Post集合的查询之一是查询某个作者ID的所有帖子。就性能而言,是否最好选择选项2,因为作者IDk