- linux/
- Linux mongodb和非常高的锁百分比,低吞吐量
Linux mongodb和非常高的锁百分比,低吞吐量
Linux mongodb和非常高的锁百分比,低吞吐量,linux,mongodb,concurrency,locking,Linux,Mongodb,Concurrency,Locking,我们第一次使用mongodb时遇到了一些问题:)以下是一些事实:
95%以上的锁定百分比
服务器是一个虚拟机,具有2个内核、6 GB ram,在用于mongodb的快速NAS上具有NFS v3共享(noatime)
centos 5.7 x86_64、mongo 2.0.2、php pecl mongo 1.2.6(不是最新版本,但将很快更新:)
mongo(当前/错误地)配置为没有从机的单个主机
db是今天从头开始创建的。20个web服务器正在写入(使用更新)
不确定向服务器发送了多少更新,
我们第一次使用mongodb时遇到了一些问题:)以下是一些事实:
- 95%以上的锁定百分比
- 服务器是一个虚拟机,具有2个内核、6 GB ram,在用于mongodb的快速NAS上具有NFS v3共享(noatime)
- centos 5.7 x86_64、mongo 2.0.2、php pecl mongo 1.2.6(不是最新版本,但将很快更新:)
- mongo(当前/错误地)配置为没有从机的单个主机
- db是今天从头开始创建的。20个web服务器正在写入(使用更新)
- 不确定向服务器发送了多少更新,但处理的数量非常小
- 我不确定这是否是一个索引问题:如何诊断
- 当前磁盘数据(包括oplog、日志…)小于600 MB
- dstat:
----总cpu使用率----dsk/total--net/total--paging--system--
usr系统idl wai hiq siq |读写|接收发送|输入输出|输入csw
46 1 53 0 0 0 | 0 4096B | 42k 19k | 0 0 | 317 5328
48152092K | 46K7590B | 020 | 3215308
50 2 48 0 0 0 | 0 0 | 39k 7218B | 0 0 | 304 5359
47151001 | 020 | 47K10K | 020 | 3325679
46 15200 | 00 | 44k 15k | 0 | 3195099
- nfsiostat为空(0操作/秒)(当然iostat是相同的)
- mongostat:
insert query update delete getmore命令刷新映射的vsize res错误已锁定%idx未命中%qr | qw ar | aw网络输出连接回复时间
0 0 0 1 0 1.41g 8.39g 242m 0 96.2 0 0 0 | 3280 1 | 5322 62b 1k 5324 M 21:11:50
0 0 0 0 1.41g 8.39g 242m 0 96.5 0 0 | 3204 1 | 5322 62b 1k 5324 M 21:11:51
0 0 0 1 0 1.41g 8.39g 242m 0 96 0 1 | 3351 1 | 5322 62b 1k 5324 M 21:11:52
01 01 01.41g 8.39g 242m 0 96.9 0 0 0 | 32511 | 5322 485b 1k 5324 M 21:11:53
0 0 0 1 0 1.41g 8.39g 242m 0 95.6 0 0 0 | 3280 1 | 5322 112b 1k 5324 M 21:11:54
{
“主机”:“foo001”,
“版本”:“2.0.2”,
“过程”:“mongod”,
“正常运行时间”:21370,
“uptimeEstimate”:18626,
“本地时间”:ISODate(“2012-02-23T20:20:59.589Z”),
“globalLock”:{
“总时间”:21369761258,
“锁定时间”:19450568051,
“比率”:0.9101911722911022,
“当前队列”:{
“总数”:3 570,
“读者”:0,
“作家”:3570
},
“活动客户端”:{
“总数”:5500,
"读者":一,,
“作家”:5499
}
},
“mem”:{
“位”:64,
“居民”:255,
“虚拟”:8782,
“支持”:正确,
“映射”:1440,
“mappedWithJournal”:2880
},
“联系”:{
“当前”:5501,
“可用”:4099
},
“额外信息”:{
“注意”:“字段因平台而异”,
“堆使用字节数”:81930736,
“页面错误”:2916
},
“索引计数器”:{
“btree”:{
“访问”:2377,
“热门”:2377,
“未命中”:0,
“重置”:0,
“错误比率”:0
}
},
“背景冲洗”:{
“刷新”:356,
“总数”:2372,
“平均值”:6.662921348314606,
“最后时刻”:0,
“最后完成”:ISODate(“2012-02-23T20:20:56.446Z”)
},
“游标”:{
“totalOpen”:5500,
“客户端游标大小”:5500,
“timedOut”:0,
“TotalNotTimeout”:5499
},
“网络”:{
“bytesIn”:51373772,
“bytesOut”:51176411,
“numRequests”:176017
},
“答复”:{
“伊斯马斯特”:对
},
“操作计数器”:{
“插入”:0,
“查询”:25,
“更新”:142157,
“删除”:0,
“getmore”:39053,
“命令”:284
},
“主张”:{
“常规”:0,
“警告”:0,
“msg”:0,
“用户”:0,
“滚动”:0
},
“writebacksqued”:false,
“dur”:{
“承诺”:19,
“journaledMB”:0,
“writeToDataFilesMB”:0,
“压缩”:0,
“CommissionWriteLock”:0,
“earlyCommits”:0,
“时间”:{
“dt”:3083,
“prepLogBuffer”:0,
“writeToJournal”:0,
“writeToDataFiles”:0,
“重新批准视图”:0
}
},
“好”:1
}
{
“数据库”:“mydb”,
“收藏”:6,
“对象”:119174,
“avgObjSize”:323.99872455401345,
“数据大小”:38612224,
“存储大小”:57286656,
“numExtents”:26,
“指数”:4,
“索引大小”:3899952,
“文件大小”:469762048,
“nsSizeMB”:16,
“好”:1
}
有什么提示吗
问候,
D
附言:我也会交叉邮寄
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read writ| recv send| in out | int 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
insert query update delete getmore command flushes mapped vsize res faults locked % idx miss % 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 M 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 M 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 M 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 M 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
{
"host" : "foo001",
"version" : "2.0.2",
"process" : "mongod",
"uptime" : 21370,
"uptimeEstimate" : 18626,
"localTime" : ISODate("2012-02-23T20:20:59.589Z"),
"globalLock" : {
"totalTime" : 21369761258,
"lockTime" : 19450568051,
"ratio" : 0.9101911722911022,
"currentQueue" : {
"total" : 3570,
"readers" : 0,
"writers" : 3570
},
"activeClients" : {
"total" : 5500,
"readers" : 1,
"writers" : 5499
}
},
"mem" : {
"bits" : 64,
"resident" : 255,
"virtual" : 8782,
"supported" : true,
"mapped" : 1440,
"mappedWithJournal" : 2880
},
"connections" : {
"current" : 5501,
"available" : 4099
},
"extra_info" : {
"note" : "fields vary by platform",
"heap_usage_bytes" : 81930736,
"page_faults" : 2916
},
"indexCounters" : {
"btree" : {
"accesses" : 2377,
"hits" : 2377,
"misses" : 0,
"resets" : 0,
"missRatio" : 0
}
},
"backgroundFlushing" : {
"flushes" : 356,
"total_ms" : 2372,
"average_ms" : 6.662921348314606,
"last_ms" : 0,
"last_finished" : ISODate("2012-02-23T20:20:56.446Z")
},
"cursors" : {
"totalOpen" : 5500,
"clientCursors_size" : 5500,
"timedOut" : 0,
"totalNoTimeout" : 5499
},
"network" : {
"bytesIn" : 51373772,
"bytesOut" : 51176411,
"numRequests" : 176017
},
"repl" : {
"ismaster" : true
},
"opcounters" : {
"insert" : 0,
"query" : 25,
"update" : 142157,
"delete" : 0,
"getmore" : 39053,
"command" : 284
},
"asserts" : {
"regular" : 0,
"warning" : 0,
"msg" : 0,
"user" : 0,
"rollovers" : 0
},
"writeBacksQueued" : false,
"dur" : {
"commits" : 19,
"journaledMB" : 0,
"writeToDataFilesMB" : 0,
"compression" : 0,
"commitsInWriteLock" : 0,
"earlyCommits" : 0,
"timeMs" : {
"dt" : 3083,
"prepLogBuffer" : 0,
"writeToJournal" : 0,
"writeToDataFiles" : 0,
"remapPrivateView" : 0
}
},
"ok" : 1
}
{
"db" : "mydb",
"collections" : 6,
"objects" : 119174,
"avgObjSize" : 323.99872455401345,
"dataSize" : 38612224,
"storageSize" : 57286656,
"numExtents" : 26,
"indexes" : 4,
"indexSize" : 3899952,
"fileSize" : 469762048,
"nsSizeMB" : 16,
"ok" : 1
}
"indexes" : 4,
"indexSize" : 3899952,
"activeClients" : {
"total" : 5500,
"readers" : 1,
"writers" : 5499
}