开发者社区> 问答> 正文

MongoDB性能和并发问题

我在项目中使用MongoDB, 内存够大 数据文件全部放在/dev/shm中,数据文件每天零点定时重建,数据只有100万条,结构如下
`{ "_id" : ObjectId("52a1f489ba36e5035eaf218b"), "a_id" : 120000, "b_id" : 101,
"c_id" : 30101, "d_id" : "BUY", "e_id" : -1, "count" : 1,
"g_id" : "869899074f76f0b7bbbe581f600b9edd", "ip" : "8.8.8.8", "i_id" : 100026, "l_time" : 1386345609, "p_time" : 1386349399, "counts" : 1, "p" : "27430", "r_id" : 360000, "s_id" : 1 }`
查询量小的时候一切正常,响应速度还蛮快,可一旦查询量上去的话惨不忍睹,
1
对查询的的关键字也做了索引,是我并发太高了吗?还是有什么需要优化的地方?

展开
收起
落地花开啦 2016-02-20 16:34:06 4034 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    从mongostat来看, 你的mongo查询和修改比较大. locked比较大(15%左右).
    应该操作同一个表(pms),或者同一条记录比较频繁.
    所以瓶颈应该在写锁上. 建议优化代码, 可以提高处理速度.
    `"pms" : { "timeLockedMicros" : { "r" : 742008234676,

        "w" : 3889626469 },//写锁执行时间:(16988400383185/1000000/60)64分钟
      "timeAcquiringMicros" : { "r" : 13712412775800,
        "w" : 16988400383185 } } },//等待获取写的锁时间: (16988400383185/1000000/60)283140分钟`
    
    2019-07-17 18:45:29
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Data as a Service - 数据即服务 -- MongoDB⾼级应⽤模式 立即下载
阿里云MongoDB云服务构建 立即下载
饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载