mongodb db.serverStatus
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 | 基本信息 spock:PRIMARY>db.serverStatus() { "host" : "h6.corp.yongche.org" , //主机名 "version" : "2.6.2" , //mongodb版本 "process" : "mongod" , //mongodb进程,主要有mongod和mongos(分片集群中)两种 "pid" : NumberLong(4205), //mongod的pid进程号,可用shell的pidof mongod命令验证 "uptime" : 173120, //mongod服务启动后到现在已经存活的秒数 "uptimeMillis" :NumberLong(173119573), / /mongod服务启动后到现在已经存活的毫秒数 "uptimeEstimate" : 172173, //mongod内部计算出来的存活秒数 "localTime" :ISODate( "2014-12-31T06:41:01.029Z" ) //本地时间 锁信息 Mongodb有4种锁:r,R,w,W R:表示全局读锁 W:全局写锁 r:某个数据库读锁 w:某个数据库写锁 spock:PRIMARY>db.serverStatus().locks { "." : { "timeLockedMicros" : { "R" :NumberLong(2532219), //mongod启动后所有库持有全局读锁的总微秒数 "W" :NumberLong(2022505) // mongod启动后所有库持有全局写锁的总微秒数 }, "timeAcquiringMicros" : { "R" :NumberLong(1489378), // mongod启动后所有库全局读锁的锁等待的总微秒数 "W" :NumberLong(361350) // mongod启动后所有库全局写锁的锁等待的总微秒数 } }, "admin" : { "timeLockedMicros" : { "r" :NumberLong(277350), // mongod启动后admin数据库持有的读锁时间 "w" :NumberLong(0) // mongod启动后admin数据库持有的写锁时间 }, "timeAcquiringMicros" : { "r" :NumberLong(11011), // mongod启动后admin数据库的读锁的锁等待总时间 "w" :NumberLong(0) // mongod启动后admin数据库的读锁的锁等待总时间 } }, "local" : { "timeLockedMicros" : { "r" :NumberLong(29750564), "w" :NumberLong(737) }, "timeAcquiringMicros" : { "r" :NumberLong(4074456), "w" :NumberLong(46) } }, "jiangjianjian" : { "timeLockedMicros" : { "r" :NumberLong(935802), //mongod启动后jiangjianjian数据库持有的读锁时间 "w" :NumberLong(98) // mongod启动后jiangjianjian数据库持有的写锁时间 }, "timeAcquiringMicros" : { "r" :NumberLong(262185), // mongod启动后jiangjianjian数据库的读锁的锁等待总时间 "w" : NumberLong(9) // mongod启动后jiangjianjian数据库的写锁的锁等待总时间 } }, "test" : { "timeLockedMicros" : { "r" :NumberLong(719696), "w" :NumberLong(141) }, "timeAcquiringMicros" : { "r" :NumberLong(332797), "w" :NumberLong(10) } } } 全局锁信息 spock:PRIMARY>db.serverStatus().globalLock { "totalTime" :NumberLong( "172059990000" ), //mongod启动后到现在的总时间,单位微秒 "lockTime" :NumberLong(2031058), //mongod启动后全局锁锁住的总时间,单位微秒 "currentQueue" : { "total" : 0, //当前的全局锁等待锁等待的个数 "readers" : 0, //当前的全局读锁等待个数 "writers" : 0 //当前全局写锁等待个数 }, "activeClients" : { "total" : 0, //当前活跃客户端的个数 "readers" : 0, //当前活跃客户端中进行读操作的个数 "writers" : 0 //当前活跃客户端中进行写操作的个数 } } 内存信息 bj1-farm1:PRIMARY>db.serverStatus().mem { "bits" : 64, //操作系统位数 "resident" : 45792, //物理内存消耗,单位M "virtual" : 326338, //虚拟内存消耗 "supported" : true , //为true表示支持显示额外的内存信息 "mapped" : 161399, //映射内存 "mappedWithJournal" : 322798 //除了映射内存外还包括journal日志消耗的映射内存 } 关于mongodb内存的介绍可参考我的blog http: //blog.csdn.net/cug_jiang126com/article/details/42264895 连接数信息 bj1-farm1:PRIMARY>db.serverStatus().connections { "current" : 2581, //当前连接数 "available" : 48619, //可用连接数 "totalCreated" :NumberLong(187993238) //截止目前为止总共创建的连接数 } 可看到当前mongod的最大连接数即为51200=2581+48619 额外信息 bj1-farm1:PRIMARY>db.serverStatus().extra_info { "note" : "fields vary byplatform" , //表示当前这个extra_info的显示信息依赖于底层系统 "heap_usage_bytes" :206033064, //堆内存空间占用的字节数,仅linux适用 "page_faults" : 11718117 //数据库访问数据时发现数据不在内存时的页面数量,当数据库性能很差或者数据量极大时,这个值会显著上升 } 索引统计信息 bj1-farm1:PRIMARY>db.serverStatus().indexCounters { "accesses" : 35369670951, //索引访问次数,值越大表示你的索引总体而言建得越好,如果值增长很慢,表示系统建的索引有问题 "hits" : 35369213426, //索引命中次数,值越大表示mogond越好地利用了索引 "misses" : 0, //表示mongod试图使用索引时发现其不在内存的次数,越小越好 "resets" : 0, //计数器重置的次数 "missRatio" : 0 //丢失率,即misses除以hits的值 } 后台刷新信息 bj1-farm1:PRIMARY>db.serverStatus().backgroundFlushing { "flushes" : 171675, //数据库刷新写操作到磁盘的总次数,会逐渐增长 "total_ms" : 432943335, //mongod写数据到磁盘消耗的总时间,单位ms, "average_ms" :2521.8775884665793, //上述两值的比例,表示每次写磁盘的平均时间 "last_ms" : 5329, //当前最后一次写磁盘花去的时间,ms,结合上个平均值可观察到mongd总体写性能和当前写性能 "last_finished" :ISODate( "2014-12-31T07:39:11.881Z" ) //最后一次写完成的时间 } 游标信息 bj1-farm1:PRIMARY>db.serverStatus().cursors { "note" : "deprecated,use server status metrics" , //表示也可使用b.serverStatus().metrics.cursor命令看看 "clientCursors_size" : 2, //mongodb当前为客户端维护的游标个数 "totalOpen" : 2, //和clientCursors_size一样 "pinned" : 0, //打开的pinned类型的游标个数 "totalNoTimeout" : 0, //设置了经过一段不活跃时间以后不设置超时,即参数“ DBQuery.Option.noTimeout”值以后,打开的游标个数 "timedOut" : 11 //从mongod启动以来的游标超时个数,如果这个值很大或者一直在增长,可能显示当前应用程序有错误 } 网络信息 bj1-farm1:PRIMARY>db.serverStatus().network { "bytesIn" :NumberLong( "1391919214603" ), //数据库接收到的网络传输字节数,可通过该值观察是否到了预计的期望值 "bytesOut" :NumberLong( "1669479449423" ), //从数据库发送出去的网络传输字节数 "numRequests" : 5186060375 //mongod接收到的总的请求次数 } 副本集信息 bj1-farm1:PRIMARY>db.serverStatus().repl { "setName" : "bj1-farm1" , //副本集名称 "setVersion" : 4, //当前版本,每修改一次配置会自增1 "ismaster" : true , //当前节点是否为master "secondary" : false , //当前节点是否为slave "hosts" : [ //副本集组成 "172.16.0.150:27017" , "172.16.0.152:27017" , "172.16.0.151:27017" ], "primary" : "172.16.0.150:27017" , //master所在的ip地址 "me" : "172.16.0.150:27017" //当前节点的ip地址 } 关于更多的副本集管理和介绍详见我的blog http: //blog.csdn.net/cug_jiang126com/article/details/41943237 副本集的操作计数器 bj1-farm1:PRIMARY>db.serverStatus().opcountersRepl { "insert" : 599, // mongod replication最近一次启动后的insert次数 "query" : 0, "update" : 0, "delete" : 0, "getmore" : 0, "command" : 0 } 操作计数器 bj1-farm1:PRIMARY>db.serverStatus().opcounters { "insert" : 17476744, //mongod最近一次启动后的insert次数 "query" : 4923585, // mongod最近一次启动后的query次数 "update" : 445136, // mongod最近一次启动后的update次数 "delete" : 301953, // mongod最近一次启动后的delete次数 "getmore" : 28737548, // mongod最近一次启动后的getmore次数,这个值可能会很高,因为子节点会发送getmore命令,作为数据复制操作的一部分 "command" : 32844821 //// mongod最近一次启动后的执行command命令的次数 } Asserts bj1-farm1:PRIMARY>db.serverStatus().asserts { "regular" : 65, //服务启动后正常的asserts错误个数,可通过log查看更多该信息 "warning" : 1, //服务启动后的warning个数 "msg" : 0, //服务启动后的message assert个数 "user" : 30655213, //服务启动后的user asserts个数 "rollovers" : 0 //服务启动后的重置次数 } writeBacksQueued bj1-farm1:PRIMARY>db.serverStatus().writeBacksQueued false //如果为true表示有需要被重新执行的操作,如果为false表示没有 持久化(dur) bj1-farm1:PRIMARY>db.serverStatus().dur { "commits" : 29, //上次分组提交间隔之后,写入journal的commit的次数 "journaledMB" : 1.089536, //上次分组提交间隔之后,写入journal的大小,单位M "writeToDataFilesMB" :2.035345, //上次分组提交间隔之后,从journal写入到数据文件的大小 "compression" : 0.49237888647866956, //journal日志的压缩率 "commitsInWriteLock" : 0, //提交的时候有写锁的次数,可以用该值判断当前系统的写压力 "earlyCommits" : 0, //在分组提交间隔前,请求commit的次数。用这个值可以判断分组提交间隔,即 journal group commitinterval设置得是否合理 "timeMs" : { "dt" : 3060, //收集数据所花的时间,单位ms "prepLogBuffer" :7, //准备写入journal所花的时间,单位ms,该值越小表示journal性能越好 "writeToJournal" :36, //真正写入journal所花的时间,单位ms,该值和文件系统和硬件设备有关 "writeToDataFiles" : 34, //从journal写入到数据文件所花的时间,单位ms "remapPrivateView" : 18 //重新映射内存所花的时间,单位ms,值越小表示journal性能越好 } } 如果设置了分组提交间隔时间,该项还会在后面显示journalCommitIntervalMs信息,即提交间隔,默认100ms。 记录状态信息 bj1-farm1:PRIMARY>db.serverStatus().recordStats { "accessesNotInMemory" :4444249, //访问数据时发现不在内存的总次数 "pageFaultExceptionsThrown" :22198, //由于页面错误而抛出异常的总次数 "yc_driver" : { "accessesNotInMemory" : 53441, "pageFaultExceptionsThrown" : 18067 }, "yc_foot_print" : { "accessesNotInMemory" : 0, "pageFaultExceptionsThrown" : 0 } 工作集配置 bj1-farm1:PRIMARY>db.serverStatus( { workingSet: 1 } ).workingSet { "note" : "thisIsAnEstimate" , //注释 "pagesInMemory" : 736105, //overseconds时间内在内存中的页的数量,默认页大小4k;如果你的数据集比内存还小,那么该值换算成大小就是数据集的大小;可以用该 值评估实际工作集的大小 "computationTimeMicros" : 232590, //收集working set数据所花的时间,单位微秒,收集这些信息会影响服务器性能,请注意收集working set的频率 "overSeconds" : 502 //内存中从最新数据变到最旧的数据页之间的所花的时间,单位秒。如果该值正在减少,或者值很小,表示working set已经远大于内存值;如 果该值很大,表示data set <=内存值 } metrics bj1-farm1:PRIMARY>db.serverStatus().metrics { "cursor" : { //游标的信息在上面已经介绍过 "timedOut" :NumberLong(12), "open" : { "noTimeout" : NumberLong(0), "pinned" :NumberLong(0), "total" : NumberLong(2) } }, "document" : { "deleted" :NumberLong(4944851), //删除记录的总条数 "inserted" :NumberLong(1066509660), //插入记录的总条数 "returned" :NumberLong( "4594388182" ), //返回记录的总条数 "updated" :NumberLong(27275088) //更新记录的总条数 }, "getLastError" : { "wtime" : { "num" : 0, //w>1的getlasterror次数 "totalMillis" : 0 //时间 }, "wtimeouts" :NumberLong(0) //超时个数 }, 这部分详细参考官方文档 http: //docs.mongodb.org/manual/reference/command/getLastError/#dbcmd.getLastError http: //docs.mongodb.org/manual/reference/command/serverStatus/#metrics "operation" : { "fastmod" : NumberLong(23990485), //使用$inc操作增加数据记录,而且该列没有使用索引的update次数 "idhack" : NumberLong(0), //使用_id列进行查询的次数,这是mongodb会默认使用_id索引并且跳过查询计划解析 "scanAndOrder" :NumberLong(33042) //无法使用索引进行排序的次数 }, "queryExecutor" : { "scanned" : NumberLong( "334236661328319" ), //查询或查询计划中扫描的总行数 "scannedObjects" :NumberLong( "776725143947" ) // }, "record" : { "moves" :NumberLong(44166) //文档在硬盘上的移动总次数 }, "repl" : { "apply" : { "batches" : { "num" : 162, //副本集中slave节点的oplog应用进程个数 "totalMillis" : 14 //mongod从oplog中操作所花的总时间 }, "ops" :NumberLong(599) //oplog操作的总个数 }, "buffer" : { "count" :NumberLong(0), //oplog buffer中的当前操作个数 "maxSizeBytes" : 268435456, //oplog buffer的最大值,常量,不可再配置 "sizeBytes" : NumberLong(0) //当前oplog buffer的大小 }, "network" : { "bytes" :NumberLong(282864), //从复制源总读取的数据量总大小 "getmores" : { "num" : 164, //执行getmores操作的个数 "totalMillis" : 15595 //getmores操作所花的总时间 }, "ops" :NumberLong(599), //从复制源中读取的操作总次数 "readersCreated" : NumberLong(12) //oplog查询线程创建的个数,当发送connection,timeout,或者网络操作,重新选择复制源,该值都会增加 }, "preload" : { "docs" : { "num" : 0, "totalMillis" : 0 }, "indexes" : { "num" : 2396, "totalMillis" : 0 } } }, "storage" : { "freelist" : { "search" :{ "bucketExhausted" : NumberLong(0), "requests" : NumberLong(1091000085), "scanned" : NumberLong(1139483866) } } }, "ttl" : { "deletedDocuments" : NumberLong(1015082231), //使用了ttl索引的次数 "passes" :NumberLong(174032) //后天使用ttl索引删除文档的次数 } } |
MongoDB状态查询:db.serverStatus()
参见:http://www.2cto.com/database/201501/370191.html
基本信息
spock:PRIMARY>db.serverStatus()
{
"host" :"h6.corp.yongche.org", //主机名
"version" :"2.6.2", //mongodb版本
"process" :"mongod", //mongodb进程,主要有mongod和mongos(分片集群中)两种
"pid" : NumberLong(4205), //mongod的pid进程号,可用shell的pidof mongod命令验证
"uptime" : 173120, //mongod服务启动后到现在已经存活的秒数
"uptimeMillis" :NumberLong(173119573), / /mongod服务启动后到现在已经存活的毫秒数
"uptimeEstimate" : 172173, //mongod内部计算出来的存活秒数
"localTime" :ISODate("2014-12-31T06:41:01.029Z") //本地时间
锁信息
Mongodb有4种锁:r,R,w,W
R:表示全局读锁
W:全局写锁
r:某个数据库读锁
w:某个数据库写锁
spock:PRIMARY>db.serverStatus().locks
{
"." : {
"timeLockedMicros": {
"R" :NumberLong(2532219), //mongod启动后所有库持有全局读锁的总微秒数
"W" :NumberLong(2022505) // mongod启动后所有库持有全局写锁的总微秒数
},
"timeAcquiringMicros": {
"R" :NumberLong(1489378), // mongod启动后所有库全局读锁的锁等待的总微秒数
"W" :NumberLong(361350) // mongod启动后所有库全局写锁的锁等待的总微秒数
}
},
"admin" : {
"timeLockedMicros": {
"r" :NumberLong(277350), // mongod启动后admin数据库持有的读锁时间
"w" :NumberLong(0) // mongod启动后admin数据库持有的写锁时间
},
"timeAcquiringMicros": {
"r" :NumberLong(11011), // mongod启动后admin数据库的读锁的锁等待总时间
"w" :NumberLong(0) // mongod启动后admin数据库的读锁的锁等待总时间
}
},
"local" : {
"timeLockedMicros": {
"r" :NumberLong(29750564),
"w" :NumberLong(737)
},
"timeAcquiringMicros": {
"r" :NumberLong(4074456),
"w" :NumberLong(46)
}
},
"jiangjianjian" : {
"timeLockedMicros": {
"r" :NumberLong(935802), //mongod启动后jiangjianjian数据库持有的读锁时间
"w" :NumberLong(98) // mongod启动后jiangjianjian数据库持有的写锁时间
},
"timeAcquiringMicros": {
"r" :NumberLong(262185), // mongod启动后jiangjianjian数据库的读锁的锁等待总时间
"w" : NumberLong(9) // mongod启动后jiangjianjian数据库的写锁的锁等待总时间
}
},
"test" : {
"timeLockedMicros": {
"r" :NumberLong(719696),
"w" :NumberLong(141)
},
"timeAcquiringMicros": {
"r" :NumberLong(332797),
"w" :NumberLong(10)
}
}
}
全局锁信息
spock:PRIMARY>db.serverStatus().globalLock
{
"totalTime" :NumberLong("172059990000"), //mongod启动后到现在的总时间,单位微秒
"lockTime" :NumberLong(2031058), //mongod启动后全局锁锁住的总时间,单位微秒
"currentQueue" : {
"total" : 0, //当前的全局锁等待锁等待的个数
"readers" : 0, //当前的全局读锁等待个数
"writers" : 0 //当前全局写锁等待个数
},
"activeClients" : {
"total" : 0, //当前活跃客户端的个数
"readers" : 0, //当前活跃客户端中进行读操作的个数
"writers" : 0 //当前活跃客户端中进行写操作的个数
}
}
内存信息
bj1-farm1:PRIMARY>db.serverStatus().mem
{
"bits" : 64, //操作系统位数
"resident" : 45792, //物理内存消耗,单位M
"virtual" : 326338, //虚拟内存消耗
"supported" : true, //为true表示支持显示额外的内存信息
"mapped" : 161399, //映射内存
"mappedWithJournal" : 322798 //除了映射内存外还包括journal日志消耗的映射内存
}
关于mongodb内存的介绍可参考我的blog
http://blog.csdn.net/cug_jiang126com/article/details/42264895
连接数信息
bj1-farm1:PRIMARY>db.serverStatus().connections
{
"current" : 2581, //当前连接数
"available" : 48619, //可用连接数
"totalCreated" :NumberLong(187993238) //截止目前为止总共创建的连接数
}
可看到当前mongod的最大连接数即为51200=2581+48619
额外信息
bj1-farm1:PRIMARY>db.serverStatus().extra_info
{
"note" : "fields vary byplatform", //表示当前这个extra_info的显示信息依赖于底层系统
"heap_usage_bytes" :206033064, //堆内存空间占用的字节数,仅linux适用
"page_faults" : 11718117 //数据库访问数据时发现数据不在内存时的页面数量,当数据库性能很差或者数据量极大时,这个值会显著上升
}
索引统计信息
bj1-farm1:PRIMARY>db.serverStatus().indexCounters
{
"accesses" : 35369670951, //索引访问次数,值越大表示你的索引总体而言建得越好,如果值增长很慢,表示系统建的索引有问题
"hits" : 35369213426, //索引命中次数,值越大表示mogond越好地利用了索引
"misses" : 0, //表示mongod试图使用索引时发现其不在内存的次数,越小越好
"resets" : 0, //计数器重置的次数
"missRatio" : 0 //丢失率,即misses除以hits的值
}
后台刷新信息
bj1-farm1:PRIMARY>db.serverStatus().backgroundFlushing
{
"flushes" : 171675, //数据库刷新写操作到磁盘的总次数,会逐渐增长
"total_ms" : 432943335, //mongod写数据到磁盘消耗的总时间,单位ms,
"average_ms" :2521.8775884665793, //上述两值的比例,表示每次写磁盘的平均时间
"last_ms" : 5329, //当前最后一次写磁盘花去的时间,ms,结合上个平均值可观察到mongd总体写性能和当前写性能
"last_finished" :ISODate("2014-12-31T07:39:11.881Z") //最后一次写完成的时间
}
游标信息
bj1-farm1:PRIMARY>db.serverStatus().cursors
{
"note" : "deprecated,use server status metrics", //表示也可使用b.serverStatus().metrics.cursor命令看看
"clientCursors_size" : 2, //mongodb当前为客户端维护的游标个数
"totalOpen" : 2, //和clientCursors_size一样
"pinned" : 0, //打开的pinned类型的游标个数
"totalNoTimeout" : 0, //设置了经过一段不活跃时间以后不设置超时,即参数“ DBQuery.Option.noTimeout”值以后,打开的游标个数
"timedOut" : 11 //从mongod启动以来的游标超时个数,如果这个值很大或者一直在增长,可能显示当前应用程序有错误
}
网络信息
bj1-farm1:PRIMARY>db.serverStatus().network
{
"bytesIn" :NumberLong("1391919214603"), //数据库接收到的网络传输字节数,可通过该值观察是否到了预计的期望值
"bytesOut" :NumberLong("1669479449423"), //从数据库发送出去的网络传输字节数
"numRequests" : 5186060375 //mongod接收到的总的请求次数
}
副本集信息
bj1-farm1:PRIMARY>db.serverStatus().repl
{
"setName" :"bj1-farm1", //副本集名称
"setVersion" : 4, //当前版本,每修改一次配置会自增1
"ismaster" : true, //当前节点是否为master
"secondary" : false, //当前节点是否为slave
"hosts" : [ //副本集组成
"172.16.0.150:27017",
"172.16.0.152:27017",
"172.16.0.151:27017"
],
"primary" : "172.16.0.150:27017", //master所在的ip地址
"me" :"172.16.0.150:27017" //当前节点的ip地址
}
关于更多的副本集管理和介绍详见我的blog
http://blog.csdn.net/cug_jiang126com/article/details/41943237
副本集的操作计数器
bj1-farm1:PRIMARY>db.serverStatus().opcountersRepl
{
"insert" : 599, // mongod replication最近一次启动后的insert次数
"query" : 0,
"update" : 0,
"delete" : 0,
"getmore" : 0,
"command" : 0
}
操作计数器
bj1-farm1:PRIMARY>db.serverStatus().opcounters
{
"insert" : 17476744, //mongod最近一次启动后的insert次数
"query" : 4923585, // mongod最近一次启动后的query次数
"update" : 445136, // mongod最近一次启动后的update次数
"delete" : 301953, // mongod最近一次启动后的delete次数
"getmore" : 28737548, // mongod最近一次启动后的getmore次数,这个值可能会很高,因为子节点会发送getmore命令,作为数据复制操作的一部分
"command" : 32844821 //// mongod最近一次启动后的执行command命令的次数
}
Asserts
bj1-farm1:PRIMARY>db.serverStatus().asserts
{
"regular" : 65, //服务启动后正常的asserts错误个数,可通过log查看更多该信息
"warning" : 1, //服务启动后的warning个数
"msg" : 0, //服务启动后的message assert个数
"user" : 30655213, //服务启动后的user asserts个数
"rollovers" : 0 //服务启动后的重置次数
}
writeBacksQueued
bj1-farm1:PRIMARY>db.serverStatus().writeBacksQueued
false //如果为true表示有需要被重新执行的操作,如果为false表示没有
持久化(dur)
bj1-farm1:PRIMARY>db.serverStatus().dur
{
"commits" : 29, //上次分组提交间隔之后,写入journal的commit的次数
"journaledMB" : 1.089536, //上次分组提交间隔之后,写入journal的大小,单位M
"writeToDataFilesMB" :2.035345, //上次分组提交间隔之后,从journal写入到数据文件的大小
"compression" : 0.49237888647866956,//journal日志的压缩率
"commitsInWriteLock" : 0, //提交的时候有写锁的次数,可以用该值判断当前系统的写压力
"earlyCommits" : 0, //在分组提交间隔前,请求commit的次数。用这个值可以判断分组提交间隔,即 journal group commitinterval设置得是否合理
"timeMs" : {
"dt" : 3060, //收集数据所花的时间,单位ms
"prepLogBuffer" :7, //准备写入journal所花的时间,单位ms,该值越小表示journal性能越好
"writeToJournal" :36, //真正写入journal所花的时间,单位ms,该值和文件系统和硬件设备有关
"writeToDataFiles": 34, //从journal写入到数据文件所花的时间,单位ms
"remapPrivateView": 18 //重新映射内存所花的时间,单位ms,值越小表示journal性能越好
}
}
如果设置了分组提交间隔时间,该项还会在后面显示journalCommitIntervalMs信息,即提交间隔,默认100ms。
记录状态信息
bj1-farm1:PRIMARY>db.serverStatus().recordStats
{
"accessesNotInMemory" :4444249, //访问数据时发现不在内存的总次数
"pageFaultExceptionsThrown" :22198, //由于页面错误而抛出异常的总次数
"yc_driver" : {
"accessesNotInMemory": 53441,
"pageFaultExceptionsThrown": 18067
},
"yc_foot_print" : {
"accessesNotInMemory": 0,
"pageFaultExceptionsThrown": 0
}
工作集配置
bj1-farm1:PRIMARY>db.serverStatus( { workingSet: 1 } ).workingSet
{
"note" :"thisIsAnEstimate", //注释
"pagesInMemory" : 736105, //overseconds时间内在内存中的页的数量,默认页大小4k;如果你的数据集比内存还小,那么该值换算成大小就是数据集的大小;可以用该 值评估实际工作集的大小
"computationTimeMicros" : 232590, //收集working set数据所花的时间,单位微秒,收集这些信息会影响服务器性能,请注意收集working set的频率
"overSeconds" : 502 //内存中从最新数据变到最旧的数据页之间的所花的时间,单位秒。如果该值正在减少,或者值很小,表示working set已经远大于内存值;如 果该值很大,表示data set <=内存值
}
metrics
bj1-farm1:PRIMARY>db.serverStatus().metrics
{
"cursor" : { //游标的信息在上面已经介绍过
"timedOut" :NumberLong(12),
"open" : {
"noTimeout": NumberLong(0),
"pinned" :NumberLong(0),
"total" : NumberLong(2)
}
},
"document" : {
"deleted" :NumberLong(4944851), //删除记录的总条数
"inserted" :NumberLong(1066509660), //插入记录的总条数
"returned" :NumberLong("4594388182"), //返回记录的总条数
"updated" :NumberLong(27275088) //更新记录的总条数
},
"getLastError" : {
"wtime" : {
"num" : 0, //w>1的getlasterror次数
"totalMillis": 0 //时间
},
"wtimeouts" :NumberLong(0) //超时个数
},
这部分详细参考官方文档
http://docs.mongodb.org/manual/reference/command/getLastError/#dbcmd.getLastError
http://docs.mongodb.org/manual/reference/command/serverStatus/#metrics
"operation" : {
"fastmod" : NumberLong(23990485), //使用$inc操作增加数据记录,而且该列没有使用索引的update次数
"idhack" : NumberLong(0), //使用_id列进行查询的次数,这是mongodb会默认使用_id索引并且跳过查询计划解析
"scanAndOrder" :NumberLong(33042) //无法使用索引进行排序的次数
},
"queryExecutor" : {
"scanned" : NumberLong("334236661328319"),//查询或查询计划中扫描的总行数
"scannedObjects" :NumberLong("776725143947") //
},
"record" : {
"moves" :NumberLong(44166) //文档在硬盘上的移动总次数
},
"repl" : {
"apply" : {
"batches": {
"num": 162, //副本集中slave节点的oplog应用进程个数
"totalMillis": 14 //mongod从oplog中操作所花的总时间
},
"ops" :NumberLong(599) //oplog操作的总个数
},
"buffer" : {
"count" :NumberLong(0), //oplog buffer中的当前操作个数
"maxSizeBytes": 268435456, //oplog buffer的最大值,常量,不可再配置
"sizeBytes": NumberLong(0) //当前oplog buffer的大小
},
"network" : {
"bytes" :NumberLong(282864), //从复制源总读取的数据量总大小
"getmores": {
"num": 164, //执行getmores操作的个数
"totalMillis": 15595 //getmores操作所花的总时间
},
"ops" :NumberLong(599), //从复制源中读取的操作总次数
"readersCreated" : NumberLong(12) //oplog查询线程创建的个数,当发送connection,timeout,或者网络操作,重新选择复制源,该值都会增加
},
"preload" : {
"docs" : {
"num": 0,
"totalMillis": 0
},
"indexes": {
"num": 2396,
"totalMillis": 0
}
}
},
"storage" : {
"freelist" : {
"search" :{
"bucketExhausted": NumberLong(0),
"requests": NumberLong(1091000085),
"scanned": NumberLong(1139483866)
}
}
},
"ttl" : {
"deletedDocuments": NumberLong(1015082231), //使用了ttl索引的次数
"passes" :NumberLong(174032) //后天使用ttl索引删除文档的次数
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
2015-03-15 net面试总结的题目