MongoDB:The Definitive Guide 2nd笔记之查看数据库大小
2016-09-25 09:19
573 查看
查看大小
Documents
Collections
Databases
mongo状态检测
通过例子我们可以看到_ids作为ObjectIds来存储比作为strings来存储更有效。
获取数据库中某个文档的大小
这个大小不包括
在一个大型的数据库中调用这个函数会非常慢,阻塞其他操作,尽量少用。
在终端命令行下运行mongotop
Documents
Collections
Databases
mongo状态检测
查看大小
Documents
利用Object.bsonsize()计算一个文档的大小
通过例子我们可以看到_ids作为ObjectIds来存储比作为strings来存储更有效。
> Object.bsonsize({_id:ObjectId()}) 22 > // ""+ObjectId() converts the ObjectId to a string > Object.bsonsize({_id:""+ObjectId()}) 39
获取数据库中某个文档的大小
> Object.bsonsize(db.users.findOne())
这个大小不包括
padding或
indexes的大小。
Collections
> db.books.stats() { "ns" : "test.books", "count" : 6, "size" : 368, "avgObjSize" : 61, "storageSize" : 36864, "capped" : false, "wiredTiger" : { "metadata" : { "formatVersion" : 1 }, "creationString" : "allocation_size=4KB,app_metadata=(formatVersion=1),block_allocation=best,block_compressor=snappy,cache_resident=0,checksum=on,colgroups=,collator=,columns=,dictionary=0,encryption=(keyid=,name=),exclusive=0,extractor=,format=btree,huffman_key=,huffman_value=,immutable=0,internal_item_max=0,internal_key_max=0,internal_key_truncate=,internal_page_max=4KB,key_format=q,key_gap=10,leaf_item_max=0,leaf_key_max=0,leaf_page_max=32KB,leaf_value_max=64MB,log=(enabled=),lsm=(auto_throttle=,bloom=,bloom_bit_count=16,bloom_config=,bloom_hash_count=8,bloom_oldest=0,chunk_count_limit=0,chunk_max=5GB,chunk_size=10MB,merge_max=15,merge_min=0),memory_page_max=10m,os_cache_dirty_max=0,os_cache_max=0,prefix_compression=0,prefix_compression_min=4,source=,split_deepen_min_child=0,split_deepen_per_child=0,split_pct=90,type=file,value_format=u", "type" : "file", "uri" : "statistics:table:collection-24--434149781242754711", "LSM" : { "bloom filter false positives" : 0, "bloom filter hits" : 0, "bloom filter misses" : 0, "bloom filter pages evicted from cache" : 0, "bloom filter pages read into cache" : 0, "bloom filters in the LSM tree" : 0, "chunks in the LSM tree" : 0, "highest merge generation in the LSM tree" : 0, "queries that could have benefited from a Bloom filter that did not exist" : 0, "sleep for LSM checkpoint throttle" : 0, "sleep for LSM merge throttle" : 0, "total size of bloom filters" : 0 }, "block-manager" : { "allocations requiring file extension" : 0, "blocks allocated" : 8, "blocks freed" : 2, "checkpoint size" : 24576, "file allocation unit size" : 4096, "file bytes available for reuse" : 16384, "file magic number" : 120897, "file major version number" : 1, "file size in bytes" : 36864, "minor version number" : 0 }, "btree" : { "btree checkpoint generation" : 23041, "column-store fixed-size leaf pages" : 0, "column-store internal pages" : 0, "column-store variable-size RLE encoded values" : 0, "column-store variable-size deleted values" : 0, "column-store variable-size leaf pages" : 0, "fixed-record size" : 0, "maximum internal page key size" : 368, "maximum internal page size" : 4096, "maximum leaf page key size" : 2867, "maximum leaf page size" : 32768, "maximum leaf page value size" : 67108864, "maximum tree depth" : 3, "number of key/value pairs" : 0, "overflow pages" : 0, "pages rewritten by compaction" : 0, "row-store internal pages" : 0, "row-store leaf pages" : 0 }, "cache" : { "bytes read into cache" : 400, "bytes written from cache" : 921, "checkpoint blocked page eviction" : 0, "data source pages selected for eviction unable to be evicted" : 0, "hazard pointer blocked page eviction" : 0, "in-memory page passed criteria to be split" : 0, "in-memory page splits" : 0, "internal pages evicted" : 0, "internal pages split during eviction" : 0, "leaf pages split during eviction" : 0, "modified pages evicted" : 0, "overflow pages read into cache" : 0, "overflow values cached in memory" : 0, "page split during eviction deepened the tree" : 0, "page written requiring lookaside records" : 0, "pages read into cache" : 2, "pages read into cache requiring lookaside entries" : 0, "pages requested from the cache" : 20, "pages written from cache" : 4, "pages written requiring in-memory restoration" : 0, "unmodified pages evicted" : 0 }, "compression" : { "compressed pages read" : 0, "compressed pages written" : 0, "page written failed to compress" : 0, "page written was too small to compress" : 4, "raw compression call failed, additional data available" : 0, "raw compression call failed, no additional data available" : 0, "raw compression call succeeded" : 0 }, "cursor" : { "bulk-loaded cursor-insert calls" : 0, "create calls" : 5, "cursor-insert key and value bytes inserted" : 77, "cursor-remove key bytes removed" : 0, "cursor-update value bytes updated" : 0, "insert calls" : 2, "next calls" : 39, "prev calls" : 1, "remove calls" : 0, "reset calls" : 14, "restarted searches" : 0, "search calls" : 1, "search near calls" : 1, "truncate calls" : 0, "update calls" : 0 }, "reconciliation" : { "dictionary matches" : 0, "fast-path pages deleted" : 0, "internal page key bytes discarded using suffix compression" : 0, "internal page multi-block writes" : 0, "internal-page overflow keys" : 0, "leaf page key bytes discarded using prefix compression" : 0, "leaf page multi-block writes" : 0, "leaf-page overflow keys" : 0, "maximum blocks required for a page" : 0, "overflow values written" : 0, "page checksum matches" : 0, "page reconciliation calls" : 4, "page reconciliation calls for eviction" : 0, "pages deleted" : 0 }, "session" : { "object compaction" : 0, "open cursor count" : 1 }, "transaction" : { "update conflicts" : 0 } }, "nindexes" : 1, "totalIndexSize" : 36864, "indexSizes" : { "_id_" : 36864 }, "ok" : 1 }
Databases
> db.stats() { "db" : "test", "collections" : 12,//所有collection的数目 "objects" : 25701,//所有collection的所有document的数目 "avgObjSize" : 414.88930391813545, "dataSize" : 10663070,//数据库占用空间,不包括free list,包括padding "storageSize" : 5005312,//数据库占用的空间 "numExtents" : 0, "indexes" : 14, "indexSize" : 585728, "ok" : 1 }
在一个大型的数据库中调用这个函数会非常慢,阻塞其他操作,尽量少用。
mongo状态检测
在终端命令行下运行mongostat~$ mongostat insert query update delete getmore command % dirty % used flushes vsize res qr|qw ar|aw netIn netOut conn time *0 *0 *0 *0 0 1|0 0.0 0.0 0 264M 29.0M 0|0 0|0 79b 19.2k 1 2016-09-25T09:46:57+08:00 *0 *0 *0 *0 0 1|0 0.0 0.0 0 264M 29.0M 0|0 0|0 79b 19.2k 1 2016-09-25T09:46:58+08:00 *0 *0 *0 *0 0 1|0 0.0 0.0 0 264M 29.0M 0|0 0|0 79b 19.2k 1 2016-09-25T09:46:59+08:00 *0 *0 *0 *0 0 1|0 0.0 0.0 0 264M 29.0M 0|0 0|0 79b 19.2k 1 2016-09-25T09:47:00+08:00 *0 *0 *0 *0 0 1|0 0.0 0.0 0 264M 29.0M 0|0 0|0 79b 19.2k 1 2016-09-25T09:47:01+08:00
在终端命令行下运行mongotop
:~$ mongotop 2016-09-25T09:47:05.209+0800 connected to: 127.0.0.1 ns total read write 2016-09-25T09:47:06+08:00 admin.system.roles 0ms 0ms 0ms admin.system.users 0ms 0ms 0ms admin.system.version 0ms 0ms 0ms config.version 0ms 0ms 0ms local.startup_log 0ms 0ms 0ms local.system.replset 0ms 0ms 0ms tables.books 0ms 0ms 0ms test.articles 0ms 0ms 0ms test.books 0ms 0ms 0ms test.characters 0ms 0ms 0ms
相关文章推荐
- MongoDB:The Definitive Guide 2nd笔记(二)
- MongoDB:The Definitive Guide 2nd笔记(三)
- MongoDB:The Definitive Guide 2nd笔记之system.profile
- MongoDB:The Definitive Guide 2nd笔记之特殊Indexes
- MongoDB:The Definitive Guide 2nd笔记之Seeing the Current Operations
- The Definitive Guide To Django 2 学习笔记(九) 第五章 模型 (一)数据库访问
- Hadoop The Definitive Guide 2nd Edition 笔记
- mongodb 查看数据库和表大小
- Hadoop: the definitive guide 第三版 拾遗 第三章 之查看文件及正则表达式
- The Definitive Guide To Django 2 学习笔记(五) 第四章 模板 (一)基本模板系统
- Hadoop: the definitive guide 第三版 拾遗 第三章 之查看文件及正则表达式
- The Definitive Guide To Django 2 学习笔记(六) 第四章 模板 (二)使用模板系统
- The Definitive Guide To Django 2 学习笔记(二) 第二个View 动态内容
- mongodb 查看数据库和表大小
- [JavaScript: The Definitive Guide]笔记(2)
- 读书笔记——《Ant – The Definitive Guide,2nd Edition》
- [JavaScript: The Definitive Guide]笔记(1)
- The Definitive Guide To Django 2 学习笔记(七) 第四章 模板 (三)使用模板系统
- MongoDB的内部构造 From 《MongoDB The Definitive Guide》
- Hadoop- The Definitive Guide 笔记2