LoginSignup
35
36

More than 5 years have passed since last update.

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

Last updated at Posted at 2015-07-27

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

設定ファイル例(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設定

snappyアルゴリズム

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

35
36
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
35
36