文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

mongodb 3.0.2与wiredTiger存储引擎安装测试

2024-04-02 19:55

关注

mongodb3.0版本,除了之前默认的MMAP存储引擎,还新推出了wiredTiger存储引擎。

据官网测试报告称,mongodb 3.0版本使用wiredTiger存储引擎后,写性能能够提高7-10倍,数据压缩30%-80%,运维降低95%,这三个方面都还是很有吸引力的。

为了进行mongodb 2.6和mongodb 3.0的性能,先搭建一个mongodb 3.0环境,然后用YCSB工具进行测试。


mongodb 3.0.2 与wiredTiger的安装步骤如下:

1. 下载和安装mongodb 3.0软件

从mongodb官网下载mongodb 3.0的安装介质 mongodb-linux-x86_64-rhel62-3.0.2.tgz ,然后登陆的服务器上执行下面的命令安装:

cd /usr/local/

rz mongodb-linux-x86_64-rhel62-3.0.2.tgz

tar -zxvf mongodb-linux-x86_64-rhel62-3.0.2.tgz

ln -s mongodb-linux-x86_64-rhel62-3.0.2 mongodb30

chown -R mongodb:mongodb mongodb-linux-x86_64-rhel62-3.0.2 mongodb30


2. 准备mongodb实例目录和配置文件

创建mongodb实例所需目录:

rm -fR /data/mongodb30/

mkdir -p /data/mongodb30/{db,logs}

touch /data/mongodb30/logs/mongodb.log

chown -R mongodb:mongodb /data/mongodb30/


创建配置文件,配置启动参数,尤其注意添加wriedTiger存储引擎相关参数:

vim /data/mongodb30/mongodb30.conf


storageEngine = wiredTiger

wiredTigerCacheSizeGB = 2

syncdelay = 30

wiredTigerCollectionBlockCompressor = snappy

port=38019

dbpath=/data/mongodb30/db

oplogSize=2048

logpath=/data/mongodb30/logs/mongodb.log

logappend=true

fork=true

rest=true

journal = true


上面的参数中,标红的参数是wriedTiger相关参数,storageEngine 是设置存储引擎;wiredTigerCacheSizeGB 是设置mongodb存储引擎所用的内容,默认为系统内存的50%;syncdelay 是设置从内存同步到硬盘的时间间隔,默认为60秒,可以设置的少一些,在mongodb故障时,丢失的日志会少一些;wiredTigerCollectionBlockCompressor 是设定压缩策略 snappy 是一种压缩速度非常快的压缩策略。

由此可见,在mongodb 3.0中想要启用wriedTiger存储引擎,只需要增加该引擎的几个参数即可。


注:mongodb实例的启动,可以用命令行启动,也可以用配置文件启动;为了方便操作,并且可以保存启动的的参数,建议使用配置文件的方式启动mongodb实例。


修改实例目录和文件的属主为mongodb:

chown -R mongodb:mongodb /data/mongodb30/


3. 启动mongodb实例,并登录测试

使用mongod命令,以配置文件的方式启动mongodb实例:

/usr/local/mongodb30/bin/mongod --config /data/mongodb30/mongodb30.conf


确认启动后的进程状态:

ps -ef | grep mongo


使用mongo命令登录到mongodb实例中:

/usr/local/mongodb30/bin/mongo --port=38019



实际操作过程记录如下:

[root@test07 local]# 
[root@test07 local]# rm -fR /data/mongodb30/
[root@test07 local]# mkdir -p /data/mongodb30/{db,logs}
[root@test07 local]# touch /data/mongodb30/logs/mongodb.log
[root@test07 local]# chown -R mongodb:mongodb /data/mongodb30/
[root@test07 local]# 
[root@test07 local]# vim /data/mongodb30/mongodb30.conf
[root@test07 local]# 
[root@test07 local]# 
[root@test07 local]# cat /data/mongodb30/mongodb30.conf
storageEngine = wiredTiger 
wiredTigerCacheSizeGB = 2
syncdelay = 30
wiredTigerCollectionBlockCompressor = Snappy
port=38019
dbpath=/data/mongodb30/db
oplogSize=2048
logpath=/data/mongodb30/logs/mongodb.log
logappend=true
fork=true
rest=true
journal = true
[root@test07 local]# 
[root@test07 local]# chown -R mongodb:mongodb /data/mongodb30/
[root@test07 local]# 
[root@test07 local]# su - mongodb
[mongodb@test07 ~]$ 
[mongodb@test07 ~]$ /usr/local/mongodb30/bin/mongod --config /data/mongodb30/mongodb30.conf
2015-10-27T11:06:12.889+0800 F CONTROL  Failed global initialization: BadValue storage.wiredTiger.collectionConfig.blockCompressor must be a string of the format: (none/snappy/zlib)
[mongodb@test07 ~]$ sed -i 's/Snappy/snappy/g' /data/mongodb30/mongodb30.conf                               
[mongodb@test07 ~]$ 
[mongodb@test07 ~]$ /usr/local/mongodb30/bin/mongod --config /data/mongodb30/mongodb30.conf
2015-10-27T11:07:04.640+0800 I CONTROL  ** WARNING: --rest is specified without --httpinterface,
2015-10-27T11:07:04.640+0800 I CONTROL  **          enabling http interface
about to fork child process, waiting until server is ready for connections.
forked process: 3098
child process started successfully, parent exiting
[mongodb@test07 ~]$ 
[mongodb@test07 ~]$ ps -ef | grep mysql
mongodb   3344  3063  0 11:42 pts/0    00:00:00 grep mysql
[mongodb@test07 ~]$ 
[mongodb@test07 ~]$ 
[mongodb@test07 ~]$ ps -ef|grep mongodb
mongodb   2953     1  0 11:00 ?        00:00:16 /usr/local/mongodb26/bin/mongod --config /data/mongodb26/mongodb26.conf
root      3062  2802  0 11:05 pts/0    00:00:00 su - mongodb
mongodb   3063  3062  0 11:05 pts/0    00:00:00 -bash
mongodb   3098     1  0 11:07 ?        00:00:13 /usr/local/mongodb30/bin/mongod --config /data/mongodb30/mongodb30.conf
mongodb   3346  3063  0 11:42 pts/0    00:00:00 ps -ef
mongodb   3347  3063  0 11:42 pts/0    00:00:00 grep mongodb
[mongodb@test07 ~]$ 
[mongodb@test07 ~]$ 
[mongodb@test07 ~]$ /usr/local/mongodb30/bin/mongo --port=38019
MongoDB shell version: 3.0.2
connecting to: 127.0.0.1:38019/test
Server has startup warnings: 
2015-10-27T11:07:04.640+0800 I CONTROL  ** WARNING: --rest is specified without --httpinterface,
2015-10-27T11:07:04.640+0800 I CONTROL  **          enabling http interface
> 
> show dbs;
local  0.000GB
> use admin;
switched to db admin
> show collections;
> 
> 
> db.serverStatus()
{
        "host" : "test07:38019",
        "version" : "3.0.2",
        "process" : "mongod",
        "pid" : NumberLong(3098),
        "uptime" : 2697,
        "uptimeMillis" : NumberLong(2697265),
        "uptimeEstimate" : 2457,
        "localTime" : ISODate("2015-10-27T03:52:01.900Z"),
        "asserts" : {
                "regular" : 0,
                "warning" : 0,
                "msg" : 0,
                "user" : 0,
                "rollovers" : 0
        },
        "connections" : {
                "current" : 1,
                "available" : 818,
                "totalCreated" : NumberLong(2)
        },
        "cursors" : {
                "note" : "deprecated, use server status metrics",
                "clientCursors_size" : 0,
                "totalOpen" : 0,
                "pinned" : 0,
                "totalNoTimeout" : 0,
                "timedOut" : 0
        },
        "extra_info" : {
                "note" : "fields vary by platform",
                "heap_usage_bytes" : 31212656,
                "page_faults" : 0
        },
        "globalLock" : {
                "totalTime" : NumberLong("2697266000"),
                "currentQueue" : {
                        "total" : 0,
                        "readers" : 0,
                        "writers" : 0
                },
                "activeClients" : {
                        "total" : 8,
                        "readers" : 0,
                        "writers" : 0
                }
        },
        "locks" : {
                "Global" : {
                        "acquireCount" : {
                                "r" : NumberLong(724),
                                "w" : NumberLong(2),
                                "W" : NumberLong(4)
                        }
                },
                "Database" : {
                        "acquireCount" : {
                                "r" : NumberLong(723),
                                "R" : NumberLong(1),
                                "W" : NumberLong(2)
                        }
                },
                "Collection" : {
                        "acquireCount" : {
                                "r" : NumberLong(722)
                        }
                }
        },
        "network" : {
                "bytesIn" : 1371,
                "bytesOut" : 3116,
                "numRequests" : 18
        },
        "opcounters" : {
                "insert" : 0,
                "query" : 1,
                "update" : 0,
                "delete" : 0,
                "getmore" : 0,
                "command" : 19
        },
        "opcountersRepl" : {
                "insert" : 0,
                "query" : 0,
                "update" : 0,
                "delete" : 0,
                "getmore" : 0,
                "command" : 0
        },
        "storageEngine" : {
                "name" : "wiredTiger"
        },
        "wiredTiger" : {
                "uri" : "statistics:",
                "LSM" : {
                        "sleep for LSM checkpoint throttle" : 0,
                        "sleep for LSM merge throttle" : 0,
                        "rows merged in an LSM tree" : 0,
                        "application work units currently queued" : 0,
                        "merge work units currently queued" : 0,
                        "tree queue hit maximum" : 0,
                        "switch work units currently queued" : 0,
                        "tree maintenance operations scheduled" : 0,
                        "tree maintenance operations discarded" : 0,
                        "tree maintenance operations executed" : 0
                },
                "async" : {
                        "number of allocation state races" : 0,
                        "number of operation slots viewed for allocation" : 0,
                        "current work queue length" : 0,
                        "number of flush calls" : 0,
                        "number of times operation allocation failed" : 0,
                        "maximum work queue length" : 0,
                        "number of times worker found no work" : 0,
                        "total allocations" : 0,
                        "total compact calls" : 0,
                        "total insert calls" : 0,
                        "total remove calls" : 0,
                        "total search calls" : 0,
                        "total update calls" : 0
                },
                "block-manager" : {
                        "mapped bytes read" : 0,
                        "bytes read" : 12288,
                        "bytes written" : 126976,
                        "mapped blocks read" : 0,
                        "blocks pre-loaded" : 0,
                        "blocks read" : 3,
                        "blocks written" : 27
                },
                "cache" : {
                        "tracked dirty bytes in the cache" : 0,
                        "tracked bytes belonging to internal pages in the cache" : 1245,
                        "bytes currently in the cache" : 14644,
                        "tracked bytes belonging to leaf pages in the cache" : 2147482403,
                        "maximum bytes configured" : 2147483648,
                        "tracked bytes belonging to overflow pages in the cache" : 0,
                        "bytes read into cache" : 0,
                        "bytes written from cache" : 20178,
                        "pages evicted by application threads" : 0,
                        "checkpoint blocked page eviction" : 0,
                        "unmodified pages evicted" : 0,
                        "page split during eviction deepened the tree" : 0,
                        "modified pages evicted" : 0,
                        "pages selected for eviction unable to be evicted" : 0,
                        "pages evicted because they exceeded the in-memory maximum" : 0,
                        "pages evicted because they had chains of deleted items" : 0,
                        "failed eviction of pages that exceeded the in-memory maximum" : 0,
                        "hazard pointer blocked page eviction" : 0,
                        "internal pages evicted" : 0,
                        "maximum page size at eviction" : 0,
                        "eviction server candidate queue empty when topping up" : 0,
                        "eviction server candidate queue not empty when topping up" : 0,
                        "eviction server evicting pages" : 0,
                        "eviction server populating queue, but not evicting pages" : 0,
                        "eviction server unable to reach eviction goal" : 0,
                        "pages split during eviction" : 0,
                        "pages walked for eviction" : 0,
                        "eviction worker thread evicting pages" : 0,
                        "in-memory page splits" : 0,
                        "percentage overhead" : 8,
                        "tracked dirty pages in the cache" : 0,
                        "pages currently held in the cache" : 10,
                        "pages read into cache" : 0,
                        "pages written from cache" : 16
                },
                "connection" : {
                        "pthread mutex condition wait calls" : 59275,
                        "files currently open" : 7,
                        "memory allocations" : 21765,
                        "memory frees" : 19667,
                        "memory re-allocations" : 64,
                        "total read I/Os" : 8,
                        "pthread mutex shared lock read-lock calls" : 1336,
                        "pthread mutex shared lock write-lock calls" : 2958,
                        "total write I/Os" : 141
                },
                "cursor" : {
                        "cursor create calls" : 568,
                        "cursor insert calls" : 24,
                        "cursor next calls" : 12,
                        "cursor prev calls" : 3,
                        "cursor remove calls" : 0,
                        "cursor reset calls" : 119,
                        "cursor search calls" : 604,
                        "cursor search near calls" : 3,
                        "cursor update calls" : 0
                },
                "data-handle" : {
                        "connection dhandles swept" : 0,
                        "connection candidate referenced" : 0,
                        "connection sweeps" : 269,
                        "connection time-of-death sets" : 1,
                        "session dhandles swept" : 0,
                        "session sweep attempts" : 56
                },
                "log" : {
                        "log buffer size increases" : 0,
                        "total log buffer size" : 1048576,
                        "log bytes of payload data" : 8051,
                        "log bytes written" : 18560,
                        "yields waiting for previous log file close" : 0,
                        "total size of compressed records" : 5113,
                        "total in-memory size of compressed records" : 9524,
                        "log records too small to compress" : 91,
                        "log records not compressed" : 5,
                        "log records compressed" : 6,
                        "maximum log file size" : 104857600,
                        "pre-allocated log files prepared" : 1,
                        "number of pre-allocated log files to create" : 1,
                        "pre-allocated log files used" : 0,
                        "log read operations" : 0,
                        "log release advances write LSN" : 102,
                        "records processed by log scan" : 0,
                        "log scan records requiring two reads" : 0,
                        "log scan operations" : 0,
                        "consolidated slot closures" : 0,
                        "logging bytes consolidated" : 0,
                        "consolidated slot joins" : 0,
                        "consolidated slot join races" : 0,
                        "slots selected for switching that were unavailable" : 0,
                        "record size exceeded maximum" : 0,
                        "failed to find a slot large enough for record" : 0,
                        "consolidated slot join transitions" : 0,
                        "log sync operations" : 92,
                        "log sync_dir operations" : 1,
                        "log server thread advances write LSN" : 0,
                        "log write operations" : 102
                },
                "reconciliation" : {
                        "page reconciliation calls" : 16,
                        "page reconciliation calls for eviction" : 0,
                        "split bytes currently awaiting free" : 0,
                        "split objects currently awaiting free" : 0
                },
                "session" : {
                        "open cursor count" : 54,
                        "open session count" : 59
                },
                "thread-yield" : {
                        "page acquire busy blocked" : 0,
                        "page acquire eviction blocked" : 0,
                        "page acquire locked blocked" : 0,
                        "page acquire read blocked" : 0,
                        "page acquire time sleeping (usecs)" : 0
                },
                "transaction" : {
                        "transaction begins" : 50,
                        "transaction checkpoints" : 89,
                        "transaction checkpoint generation" : 89,
                        "transaction checkpoint currently running" : 0,
                        "transaction checkpoint max time (msecs)" : 16,
                        "transaction checkpoint min time (msecs)" : 0,
                        "transaction checkpoint most recent time (msecs)" : 0,
                        "transaction checkpoint total time (msecs)" : 52,
                        "transactions committed" : 3,
                        "transaction failures due to cache overflow" : 0,
                        "transaction range of IDs currently pinned by a checkpoint" : 0,
                        "transaction range of IDs currently pinned" : 1,
                        "transactions rolled back" : 46
                },
                "concurrentTransactions" : {
                        "write" : {
                                "out" : 0,
                                "available" : 128,
                                "totalTickets" : 128
                        },
                        "read" : {
                                "out" : 1,
                                "available" : 127,
                                "totalTickets" : 128
                        }
                }
        },
        "writeBacksQueued" : false,
        "mem" : {
                "bits" : 64,
                "resident" : 37,
                "virtual" : 339,
                "supported" : true,
                "mapped" : 0,
                "mappedWithJournal" : 0
        },
        "metrics" : {
                "commands" : {
                        "getLog" : {
                                "failed" : NumberLong(0),
                                "total" : NumberLong(2)
                        },
                        "isMaster" : {
                                "failed" : NumberLong(0),
                                "total" : NumberLong(10)
                        },
                        "listCollections" : {
                                "failed" : NumberLong(0),
                                "total" : NumberLong(1)
                        },
                        "listDatabases" : {
                                "failed" : NumberLong(0),
                                "total" : NumberLong(1)
                        },
                        "replSetGetStatus" : {
                                "failed" : NumberLong(2),
                                "total" : NumberLong(2)
                        },
                        "serverStatus" : {
                                "failed" : NumberLong(0),
                                "total" : NumberLong(1)
                        },
                        "whatsmyuri" : {
                                "failed" : NumberLong(0),
                                "total" : NumberLong(2)
                        }
                },
                "cursor" : {
                        "timedOut" : NumberLong(0),
                        "open" : {
                                "noTimeout" : NumberLong(0),
                                "pinned" : NumberLong(0),
                                "total" : NumberLong(0)
                        }
                },
                "document" : {
                        "deleted" : NumberLong(0),
                        "inserted" : NumberLong(0),
                        "returned" : NumberLong(0),
                        "updated" : NumberLong(0)
                },
                "getLastError" : {
                        "wtime" : {
                                "num" : 0,
                                "totalMillis" : 0
                        },
                        "wtimeouts" : NumberLong(0)
                },
                "operation" : {
                        "fastmod" : NumberLong(0),
                        "idhack" : NumberLong(0),
                        "scanAndOrder" : NumberLong(0),
                        "writeConflicts" : NumberLong(0)
                },
                "queryExecutor" : {
                        "scanned" : NumberLong(0),
                        "scannedObjects" : NumberLong(0)
                },
                "record" : {
                        "moves" : NumberLong(0)
                },
                "repl" : {
                        "apply" : {
                                "batches" : {
                                        "num" : 0,
                                        "totalMillis" : 0
                                },
                                "ops" : NumberLong(0)
                        },
                        "buffer" : {
                                "count" : NumberLong(0),
                                "maxSizeBytes" : 268435456,
                                "sizeBytes" : NumberLong(0)
                        },
                        "network" : {
                                "bytes" : NumberLong(0),
                                "getmores" : {
                                        "num" : 0,
                                        "totalMillis" : 0
                                },
                                "ops" : NumberLong(0),
                                "readersCreated" : NumberLong(0)
                        },
                        "preload" : {
                                "docs" : {
                                        "num" : 0,
                                        "totalMillis" : 0
                                },
                                "indexes" : {
                                        "num" : 0,
                                        "totalMillis" : 0
                                }
                        }
                },
                "storage" : {
                        "freelist" : {
                                "search" : {
                                        "bucketExhausted" : NumberLong(0),
                                        "requests" : NumberLong(0),
                                        "scanned" : NumberLong(0)
                                }
                        }
                },
                "ttl" : {
                        "deletedDocuments" : NumberLong(0),
                        "passes" : NumberLong(44)
                }
        },
        "ok" : 1
}
>


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯