【发布时间】:2012-03-14 08:13:59
【问题描述】:
我们第一次使用 mongodb 时遇到了一些问题 :) 以下是一些事实:
- 95+% 锁定百分比
- 服务器是具有 2 个内核、6 GB 内存的 VM,在用于 mongodb 的快速 NAS 上具有 NFS v3 共享 (noatime)。
- centos 5.7 x86_64, mongo 2.0.2, php-pecl-mongo 1.2.6(不是最新版本,但很快就会更新:)
- mongo 被(当前/错误地)配置为没有从属的单个主控
- db 今天从头开始创建。 20 个网络服务器正在写入(使用更新)
- 不确定有多少更新/秒发送到服务器,但处理量非常小
- 我不确定这是否是索引问题:如何诊断?
- 当前磁盘数据(包括 oplog、journal ...)小于 600 MB
- 数据统计:
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- usr sys idl wai hiq siq|阅读令状|接收发送|进出|诠释 csw 46 1 53 0 0 0| 0 4096B| 42k 19k| 0 0 | 317 5328 48 1 52 0 0 1| 0 92k| 46k 7590B| 0 0 | 321 5308 50 2 48 0 0 0| 0 0 | 39k 7218B| 0 0 | 304 5359 47 1 51 0 0 1| 0 0 | 47k 10k| 0 0 | 332 5679 46 1 52 0 0 0| 0 0 | 44k 15k| 0 0 | 319 5099
- nfsiostat 为空(0 ops/s)(当然 iostat 也一样)
- mongostat:
insert query update delete getmore 命令刷新映射的 vsize res 错误锁定 % idx 未命中 % qr|qw ar|aw netIn netOut conn repl time
0 0 0 0 0 1 0 1.41g 8.39g 242m 0 96.2 0 0|3280 1|5322 62b 1k 5324 米 21:11:50
0 0 0 0 0 1 0 1.41g 8.39g 242m 0 96.5 0 0|3204 1|5322 62b 1k 5324 米 21:11:51
0 0 0 0 0 1 0 1.41g 8.39g 242m 0 96 0 1|3351 1|5322 62b 1k 5324 米 21:11:52
0 0 1 0 0 1 0 1.41g 8.39g 242m 0 96.9 0 0|3251 1|5322 485b 1k 5324 米 21:11:53
0 0 0 0 1 1 0 1.41g 8.39g 242m 0 95.6 0 0|3280 1|5322 112b 1k 5324 M 21:11:54
- db.serverStatus()
- 我们的数据库:
有什么提示吗?
问候,
D.
PS:我也将这个交叉发布给 mongo-user
【问题讨论】:
-
您的更新操作是什么样的?您可以省略确切的数据,但了解正在使用的运算符以及组合了多少运算符会有所帮助。另外,哪些字段被索引?
-
您能否发布您为解决这种情况所做的后续工作?或链接到跟进。
标签: linux mongodb concurrency locking