MongoDB 并发机制


并发机制

以下列出各版本的新特性


MongoDB 2.2 并发机制

https://docs.mongodb.com/v2.2/faq/concurrency/

1、锁类型

使用 readers-writer 锁机制,允许同时有多个读操作,但只能有一个写操作;一个写操作会阻塞其它读、写操作;写操作优先级高于读操作

2、锁粒度

2.2 版本之前只有一个实例级别的全局锁。从 2.2 版本开始大多操作实现了数据库级别的锁粒度,少量操作仍用到实例级的全局锁

3、查看锁状态

i. db.serverStatus()

Locks:https://docs.mongodb.com/v2.2/reference/server-status/#server-status-locks

"locks" : {
        "." : {
                "timeLockedMicros" : {
                        "R" : <num>,
                        "W" : <num>
                },
                "timeAcquiringMicros" : {
                        "R" : <num>,
                        "W" : <num>
                }
        },
...
        "<database>" : {
                "timeLockedMicros" : {
                        "r" : <num>,
                        "w" : <num>
                },
                "timeAcquiringMicros" : {
                        "r" : <num>,
                        "w" : <num>
                }
        }
},

Global Lock:https://docs.mongodb.com/v2.2/reference/server-status/#server-status-global-lock

"globalLock" : {
        "totalTime" : <num>,
        "lockTime" : <num>,
        "currentQueue" : {
                "total" : <num>,
                "readers" : <num>,
                "writers" : <num>
        },
        "activeClients" : {
                "total" : <num>,
                "readers" : <num>,
                "writers" : <num>
        }
},
ii. db.currentOp()

Current Operation:https://docs.mongodb.com/v2.2/reference/current-op/

{
  "inprog": [
             {
                     "opid" : 3434473,
                     "active" : <boolean>,
                     "secs_running" : 0,
                     "op" : "<operation>",
                     "ns" : "<database>.<collection>",
                     "query" : {
                     },
                     "client" : "<host>:<outgoing>",
                     "desc" : "conn57683",
                     "threadId" : "0x7f04a637b700",
                     "connectionId" : 57683,
                     "locks" : {
                             "^" : "w",
                             "^local" : "W",
                             "^<database>" : "W"
                     },
                     "waitingForLock" : false,
                     "msg": "<string>"
                     "numYields" : 0,
                     "progress" : {
                             "done" : <number>,
                             "total" : <number>
                     }
                     "lockStats" : {
                             "timeLockedMicros" : {
                                     "R" : NumberLong(),
                                     "W" : NumberLong(),
                                     "r" : NumberLong(),
                                     "w" : NumberLong()
                             },
                             "timeAcquiringMicros" : {
                                     "R" : NumberLong(),
                                     "W" : NumberLong(),
                                     "r" : NumberLong(),
                                     "w" : NumberLong()
                             }
                     }
             },
            ]
}
iii. mongotop

–locks 参数:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值