3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MongoDB 3.2+WiredTigerでもメモリ使用量を抑えたい! (Debian 9)

Last updated at Posted at 2018-02-20

MongoDB 3系からWiredTigerが選べるようになり,メモリ使用量が制限できるようになりました.
storage.wiredTiger.engineConfig.cacheSizeGB オプションで指定できます.

MongoDB 3.4以降は最低256MB

MongoDB 3.4以降,設定下限が256MBに下がりました.

Changed in version 3.4: Values can range from 256MB to 10TB and can be a float.
(訳: 3.4での変更: 値は256MB~10TBまでのfloat(小数)で指定可能です)
Configuration File Options — MongoDB Manual 3.4 #storage.wiredTiger.engineConfig.cacheSizeGB

MongoDB 3.2までは最低1GB

しかし,MongoDB 3.2までは,設定下限は1GBです.0.5とかを指定しても起動しません.
VPSサーバで運用しようとすると,なかなかつらいところがあります.

by default, will use the larger of either:

  • 60% of RAM minus 1 GB, or
  • 1 GB.

(訳: デフォルトでは,総メモリの60%から1GB引いた容量か,1GBのどちらか大きい方になります)
Configuration File Options — MongoDB Manual 3.2 #storage.wiredTiger.engineConfig.cacheSizeGB

抜け道

しかし抜け道があります.configStringに指定できるというものです.

Ramon Fernandez added a comment - Jan 28 2016 01:45:21 PM GMT+0000
Jeroen Vijfhuizen, this works for me, please give it a try:

storage:
 wiredTiger:
  engineConfig:
    configString : cache_size=345M

(意訳: これでうまくいったから試してみて)
[SERVER-22274] WiredTiger cache size is only configurable in whole gigabytes. - MongoDB

試した

/etc/mongodb.conf (Debian 9)で,cache_size=128MとしてドキュメントをInsertしまくってみました.

$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
mongodb   3339  2.8 10.1 549896 207776 ?       Ssl   2月17 135:26 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf

以前は1GBまで膨らんでいましたが,今回は200MB程度に抑えられています.うまくいったようです!

おわりに

Debian 9 (Stretch)でもMongoDB 3.4以降が使えたら良かったのですが,
執筆時点でstretchのリポジトリに入っているのがMongoDB 3.2で,MongoDB公式はまだDebian 8止まりJIRAを見るとそろそろ出そうな感じはする)という状態で,MongoDB 3.2でなんとかする方法を模索したのでした.

3
0
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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?