Help us understand the problem. What is going on with this article?

mongod設定項目まとめ(wiredTiger編)

More than 3 years have passed since last update.

使うにあたって設定項目ざっと調べ太郎。

設定ファイル例(wiredTiger使用)

# mongodb_wt.conf
storage:
    dbPath: "/data/mongod_wt"
    engine: "wiredTiger"
    directoryPerDB: true
    wiredTiger:
        engineConfig:
            cacheSizeGB: 1
            directoryForIndexes: true
            statisticsLogDelaySecs: 0
        collectionConfig:
            blockCompressor: "snappy"
        indexConfig:
            prefixCompression: true
    journal:
         enabled: true
systemLog:
   destination: file
   path: "/var/log/mongodb/mongodb_wt.log"
   logAppend: true
processManagement:
    fork: true

storage設定項目例

dbpath

データベースファイルの作成先ディレクトリ

journal

ジャーナルファイル作成するかどうか

directoryPerDB

デフォルトfalse
データベースごとにディレクトリを作成するかどうか

engine

ストレージエンジンの選択

  • mmapv1 - 従来のストレージエンジン
  • wiredTiger - wiredTigerストレージエンジン

3.0ならwiredTiger使わないと意味ないと思うので、そちらをメインにみる。

wiredTiger設定項目例

engineConfig

cacheSizeGB

デフォルトではシステムメモリの半分 or 1GB
wiredTigerで実データをキャッシュするためのメモリ領域の指定。
スレッドやIndexでもメモリ食うので、最初はシステムメモリの6〜7割とる形が良いと思われる

directoryForIndexes

MySQLだとinnodb_file_per_table相当ですな。

statisticsLogDelaySecs

デフォルトは0(出力しない)

wiredTigerの統計情報ファイルを何秒ごとに出すかの設定。
0だと出力しない。
出力時に重くなる傾向があるので、テスト時は30秒とかで設定して本番の時は10分に一回とか、出さないとかで設定するのがいいかと。

collectionConfig

blockCompressor

データ圧縮するかどうか、デフォルトはsnappy。圧縮時のCPU負荷など気になる場合はnone

  • none - 圧縮しない
  • snappy - ほどほどの圧縮率で高速に圧縮
  • zlib - snappyよりも圧縮率はいいけど低速

indexConfig

prefixCompression

デフォルトTrue
index圧縮を行うかどうか

その他

engineConfigStrings

storage.wiredTiger.engineConfig.engineConfigStrings

で、wiredTigerの細かいオプション設定出来た気がしたんだけど、ドキュメントから消えてる。ので使う場合は注意がいりそう。

補足資料

MongoDB設定

http://docs.mongodb.org/manual/reference/configuration-options/

snappyアルゴリズム

Googleで作ったプロトコルらしい、lzoとほぼ同じ圧縮率と速度。

http://www.slideshare.net/moaikids/snappy

http://static.tumblr.com/lbtm3t2/8PAn0kziu/mongodb-logo.png

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした