Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

WiredTigerストレージエンジン楽しい

9,210 views

Published on

道玄坂LTの発表資料です!

Published in: Technology

WiredTigerストレージエンジン楽しい

  1. 1. モンゴリアン桑野参上 ! 桑野 章弘
  2. 2. いやない
  3. 3. WiredTigerストレージエ ンジン楽しい ! 桑野 章弘
  4. 4. 自己紹介 •桑野 章弘 •サイバーエージェント •サーバサイドエンジニア •Twitter: @kuwa_tw •Blog: http://d.hatena.ne.jp/ akuwano/
  5. 5. 自己紹介
  6. 6. いつもありがとう ございます
  7. 7. 自己紹介
  8. 8. 本日この画像2回目
  9. 9. 今日の話 MongoDB ストレージエンジン
  10. 10. ストレージエンジン •バージョン2.8から使えるよ •mmapv1(従来) •WiredTiger •Devnull •inMemory •RocksDB
  11. 11. WiredTiger •MongoDB 2.8からプラガブルスト レージエンジンが導入される •その中の一つ •WiredTiger社が作っていたが MongoDB社に買収される
  12. 12. WiredTiger •低レイテンシ高スループット •PBサイズストレージサポート •ドキュメントレベルロッキング •ACID Transactionサポート •SSD/RAM/HDD柔軟に対応出来る •LSM+BloomfilterもBtreeも
  13. 13. ほんとかよ
  14. 14. 試してみよ
  15. 15. 使い方 •設定ファイル •engine: で設定 •"mmapv1" •"wiredTiger" •以下省略
  16. 16. storage: dbPath: "/var/lib/mongodb/mmapv1" engine: "mmapv1" journal: enabled: true systemLog: destination: file path: "/var/log/mongodb/mongodb_mmapv1.log" logAppend: true processManagement: fork: true ! !
  17. 17. storage: dbPath: "/var/lib/mongodb/wt" engine: "wiredTiger" wiredTiger: collectionConfig: blockCompressor: "none" systemLog: destination: file path: "/var/log/mongodb/mongodb_wt.log" logAppend: true storage: journal: enabled: true processManagement: fork: true !
  18. 18. 実行環境 •MongoDBサーバ •c4.xlarge •負荷サーバ •c4.2xlarge
  19. 19. テスト実行環境 •9000000オブジェクト •10000000オペレーション •500スレッド並列
  20. 20. 処理時間 処理トランザクション
  21. 21. 処理時間 •MMAPv1 •6m14s •WiredTiger •4m28s
  22. 22. パフォーマンス 3割増
  23. 23. CPU使用率
  24. 24. マルチコアが 使えてない マルチコアが 使えてない 実行MMAPv1
  25. 25. マルチコア 使えてる 実行WiredTiger
  26. 26. データ容量
  27. 27. 約半分に
  28. 28. メモリ
  29. 29. 知ってますよね •メモリいくつつかってんのかわかんな い問題 •メモリ有るだけ使う問題 •メモリ使用量の監視>意味なし問題
  30. 30. USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND mongo 9560 50.6 7.2 46441816 556160 ? Sl 07:08 15:26 /opt/mongodb- linux-x86_64-2.8.0-rc4/bin/mongod -f /etc/mongodb/mongod-mmapv1.yml ! # pmap -d 9560 ¦tail -1 mapped: 46441816K writeable/private: 23309456K shared: 23091228K 実行MMAPv1
  31. 31. ! mongo 10095 283 6.6 673552 507568 ? Sl 07:39 13:02 /opt/mongodb- linux-x86_64-2.8.0-rc4/bin/mongod -f /etc/mongodb/mongod-wt.yml ! # pmap -d 10095 ¦tail -1 mapped: 674572K writeable/private: 633408K shared: 28K 実行WiredTiger
  32. 32. •WiredTigerはメモリをキレイに使う ようになってて嬉しい
  33. 33. デメリット
  34. 34. WiredTiger 設定項目多すぎ
  35. 35. チューニング 余地はある
  36. 36. まとめ •安定してきたらMongoDBのユースケー スをかえそうな勢いがある •パフォーマンスもいいし、メモリもス トレージも効率よく使える •すごくいい
  37. 37. でも
  38. 38. まとめ •Jiraみると怖そうなバグが散見される のでまだ使わない •2.8.3くらいになったら期待してますw

×