mongodb熟悉的帮忙解答一下:关于mongodb查询性能的问题

2012-08-14 15:13:38 +08:00
 ximadyn
自己建了3个只有7个字段的collection,里面大概5k的数据
大部分类似{“id”:"uuid", "next_id":"uuid", "name": "hello", "create":"2012-04-16", "update": "2012-04-16" }
这3个collection关联一起,即通过1个collection里的document里的next_id来获得下一个collection的document的id

大概500的模拟查询,有返回就继续执行查询请求,大概10s之后,响应就很慢很慢,服务器cpu和内存都占用很低,8核,32G内存的。

在所有的id上都建了index

mongodb采用2个分片,再做2个备份,一个mongos

难道mongodb配置不对?

采用的是默认配置,每次重启之后性能就不错,过了一段时间,又可是响应很慢!
3694 次点击
所在节点    程序员
5 条回复
ElmerZhang
2012-08-14 15:26:36 +08:00
这么点数据,两个shard两个备份,6台机器么。。。。
一组三个节点的replica set就足够足够的了
500的模拟查询是指500并发么?
把慢的时候的 mongostat 贴出来看看
mongostat --host ip:port
zack
2012-08-14 16:28:21 +08:00
查询怎么写的
zoran
2012-08-15 17:58:05 +08:00
可以把慢速日志贴出来看看
shiyiwan
2012-08-15 21:17:42 +08:00
collection设计的有点问题,这仍然是RDBMS的设计思路。这种问题建议去mongodb-user@googlegroups.com提,10gen的工程师们一般都会回复你。
leafduo
2012-08-16 16:37:52 +08:00
模式的问题吧?为啥不搞成一个 collection 里面放数组的形式?一次查询就都取出来了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/45104

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX