40
モンゴリアン桑野参上 桑野 章弘

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

Embed Size (px)

Citation preview

Page 1: WiredTigerストレージエンジン楽しい

モンゴリアン桑野参上!

桑野 章弘

Page 2: WiredTigerストレージエンジン楽しい
Page 3: WiredTigerストレージエンジン楽しい

いやない

Page 4: WiredTigerストレージエンジン楽しい

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

!

桑野 章弘

Page 5: WiredTigerストレージエンジン楽しい

自己紹介

•桑野 章弘 •サイバーエージェント •サーバサイドエンジニア •Twitter: @kuwa_tw •Blog: http://d.hatena.ne.jp/akuwano/

Page 6: WiredTigerストレージエンジン楽しい

自己紹介

Page 7: WiredTigerストレージエンジン楽しい

いつもありがとう ございます

Page 8: WiredTigerストレージエンジン楽しい

自己紹介

Page 9: WiredTigerストレージエンジン楽しい

本日この画像2回目

Page 10: WiredTigerストレージエンジン楽しい

今日の話

MongoDB ストレージエンジン

Page 11: WiredTigerストレージエンジン楽しい

ストレージエンジン•バージョン2.8から使えるよ •mmapv1(従来) •WiredTiger •Devnull • inMemory •RocksDB

Page 12: WiredTigerストレージエンジン楽しい

WiredTiger

•MongoDB 2.8からプラガブルストレージエンジンが導入される

•その中の一つ •WiredTiger社が作っていたがMongoDB社に買収される

Page 13: WiredTigerストレージエンジン楽しい

WiredTiger•低レイテンシ高スループット •PBサイズストレージサポート •ドキュメントレベルロッキング •ACID Transactionサポート •SSD/RAM/HDD柔軟に対応出来る •LSM+BloomfilterもBtreeも

Page 14: WiredTigerストレージエンジン楽しい

ほんとかよ

Page 15: WiredTigerストレージエンジン楽しい

試してみよ

Page 16: WiredTigerストレージエンジン楽しい

使い方•設定ファイル •engine: で設定 •"mmapv1" •"wiredTiger" •以下省略

Page 17: WiredTigerストレージエンジン楽しい

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 !

!

Page 18: WiredTigerストレージエンジン楽しい

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 !

Page 19: WiredTigerストレージエンジン楽しい

実行環境

•MongoDBサーバ •c4.xlarge •負荷サーバ •c4.2xlarge

Page 20: WiredTigerストレージエンジン楽しい

テスト実行環境

•9000000オブジェクト •10000000オペレーション •500スレッド並列

Page 21: WiredTigerストレージエンジン楽しい

処理時間 処理トランザクション

Page 22: WiredTigerストレージエンジン楽しい

処理時間

•MMAPv1 •6m14s •WiredTiger •4m28s

Page 23: WiredTigerストレージエンジン楽しい

パフォーマンス 3割増

Page 24: WiredTigerストレージエンジン楽しい

CPU使用率

Page 25: WiredTigerストレージエンジン楽しい

マルチコアが 使えてないマルチコアが 使えてない

実行MMAPv1

Page 26: WiredTigerストレージエンジン楽しい

マルチコア 使えてる

実行WiredTiger

Page 27: WiredTigerストレージエンジン楽しい

データ容量

Page 28: WiredTigerストレージエンジン楽しい

約半分に

Page 29: WiredTigerストレージエンジン楽しい

メモリ

Page 30: WiredTigerストレージエンジン楽しい

知ってますよね

•メモリいくつつかってんのかわかんない問題

•メモリ有るだけ使う問題 •メモリ使用量の監視>意味なし問題

Page 31: WiredTigerストレージエンジン楽しい

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

Page 32: WiredTigerストレージエンジン楽しい

!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

Page 33: WiredTigerストレージエンジン楽しい

•WiredTigerはメモリをキレイに使うようになってて嬉しい

Page 34: WiredTigerストレージエンジン楽しい

デメリット

Page 35: WiredTigerストレージエンジン楽しい
Page 36: WiredTigerストレージエンジン楽しい

WiredTiger 設定項目多すぎ

Page 37: WiredTigerストレージエンジン楽しい

チューニング 余地はある

Page 38: WiredTigerストレージエンジン楽しい

まとめ

•安定してきたらMongoDBのユースケースをかえそうな勢いがある

•パフォーマンスもいいし、メモリもストレージも効率よく使える

•すごくいい

Page 39: WiredTigerストレージエンジン楽しい

でも

Page 40: WiredTigerストレージエンジン楽しい

まとめ

•Jiraみると怖そうなバグが散見されるのでまだ使わない

•2.8.3くらいになったら期待してますw