V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ximadyn
V2EX  ›  程序员

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

  •  
  •   ximadyn · 2012-08-14 15:13:38 +08:00 · 3644 次点击
    这是一个创建于 4473 天前的主题,其中的信息可能已经有所发展或是发生改变。
    自己建了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配置不对?

    采用的是默认配置,每次重启之后性能就不错,过了一段时间,又可是响应很慢!
    5 条回复    1970-01-01 08:00:00 +08:00
    ElmerZhang
        1
    ElmerZhang  
       2012-08-14 15:26:36 +08:00
    这么点数据,两个shard两个备份,6台机器么。。。。
    一组三个节点的replica set就足够足够的了
    500的模拟查询是指500并发么?
    把慢的时候的 mongostat 贴出来看看
    mongostat --host ip:port
    zack
        2
    zack  
       2012-08-14 16:28:21 +08:00
    查询怎么写的
    zoran
        3
    zoran  
       2012-08-15 17:58:05 +08:00
    可以把慢速日志贴出来看看
    shiyiwan
        4
    shiyiwan  
       2012-08-15 21:17:42 +08:00
    collection设计的有点问题,这仍然是RDBMS的设计思路。这种问题建议去[email protected]提,10gen的工程师们一般都会回复你。
    leafduo
        5
    leafduo  
       2012-08-16 16:37:52 +08:00
    模式的问题吧?为啥不搞成一个 collection 里面放数组的形式?一次查询就都取出来了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5578 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 06:48 · PVG 14:48 · LAX 22:48 · JFK 01:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.