nvmfs 使ってみたとか 言っちゃって マジカジュアルな奴
TRANSCRIPT
![Page 1: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/1.jpg)
NVMFS 使ってみたとか 言っちゃって
マジカジュアルな奴!
桑野 章弘
![Page 2: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/2.jpg)
自己紹介
•桑野 章弘 •サイバーエージェント •サーバサイドエンジニア •Twitter: @kuwa_tw •Blog: http://d.hatena.ne.jp/akuwano/
![Page 3: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/3.jpg)
自己紹介
•桑野 章弘 •サイバーエージェント •サーバサイドエンジニア •Twitter: @kuwa_tw •Blog: http://d.hatena.ne.jp/akuwano/
![Page 4: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/4.jpg)
みんなカジュアルとかわかってるんですか
![Page 5: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/5.jpg)
本当にカジュアルな 奴です
![Page 6: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/6.jpg)
MongoDBの方から来ました
![Page 7: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/7.jpg)
今日の話
NVMFS試してみた
![Page 8: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/8.jpg)
DB構成
•MySQL 5.5 •垂直分散メイン+レプリケーション分割
![Page 9: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/9.jpg)
メイン系 イベント系 ヒストリ系 アバター系
レプリの更新テーブルを分散
Master
Slave
通常の フルレプリ
(昇格、バックアップ)
![Page 10: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/10.jpg)
現環境の問題点
•DB容量肥大化による容量問題 •マスタ更新過多によるスレーブ遅延解消のためテーブル分散レプリ
•運用負荷の増大(NEW!)
![Page 11: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/11.jpg)
解決策
•ハードウェアのスペックアップ •NVMFS+Page Compressionの検討
![Page 12: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/12.jpg)
スペックアップ
•当たり前だがお金を使えば解決 •メニーマニー •メニーマニー
![Page 13: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/13.jpg)
だと話が終わるので
![Page 14: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/14.jpg)
NVMFS検討
•先ほど説明がありましたが •データアクセスとデータ圧縮をiodrive側のAtomicWriteとTrimを使って透過的に行う
•速度と容量圧縮の良いところ取り(!)
![Page 15: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/15.jpg)
NVMFSの導入
•サービスへの一部サーバとして導入 •MySQL単体試験 •スレーブへの導入
![Page 16: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/16.jpg)
導入箇所
•Percona-Server 5.6 •マスタへのフルレプリとして導入
![Page 17: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/17.jpg)
メイン系 イベント系 ヒストリ系
レプリの更新テーブルを分散
Master
Slave
通常の フルレプリ
フルレプリで テスト導入
比較
![Page 18: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/18.jpg)
mysql> show create table t1\G *************************** 1. row *************************** Table: t1 Create Table: CREATE TABLE `t1` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `k` int(10) unsigned NOT NULL DEFAULT '0', `c` char(120) NOT NULL DEFAULT '', `pad` char(60) NOT NULL DEFAULT '', PRIMARY KEY (`id`), KEY `k` (`k`) ) ENGINE=InnoDB AUTO_INCREMENT=50000001 DEFAULT CHARSET=utf8 ROW_FORMAT=PAGE_COMPRESSION !
!
![Page 19: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/19.jpg)
結果比較/考察
•単純性能比較 •サービス導入検討比較
![Page 20: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/20.jpg)
単純比較
•トランザクション数比較 •トランザクション数による圧縮率の低下確認
![Page 21: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/21.jpg)
RWは8割、ROだと6~7割弱
LAは圧縮伸張で高くなる
![Page 22: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/22.jpg)
書き込み回数で徐々に断片化
![Page 23: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/23.jpg)
サービス導入比較
•圧縮率 •書き込み時CPU負荷確認 • ioDriveへのWrite比較
![Page 24: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/24.jpg)
圧縮率
•カッとなってサービスで使ってる実データ圧縮した
![Page 25: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/25.jpg)
[root@sx300-dbm101 sbtest]# ls -lh * | grep ibd -rw-rw---- 1 root root 12G 12月 12 18:00 2014 t1.ibd !
!
[root@sx300-dbm101 sbtest]# du -sh * | grep ibd 1.5G t1.ibd !
![Page 26: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/26.jpg)
45%
![Page 27: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/27.jpg)
圧縮率•1GB以上のテーブルを圧縮した結果 •圧縮したテーブルの容量比較 •217G •484G •45%
![Page 28: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/28.jpg)
CPU負荷
•CPU負荷の比較
![Page 29: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/29.jpg)
User 約2倍
![Page 30: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/30.jpg)
CPUおかわり
•よりCPUバウンドによるこのとおり。 Userが頭打ちに
![Page 31: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/31.jpg)
CPU負荷
•でもただでさえCPUバウンドなのに、よりCPUバウンドに寄っちゃう
![Page 32: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/32.jpg)
ioDriveへの書込
![Page 33: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/33.jpg)
つかいかた•データ量は増えていく事が期待されるテーブル
•クエリは多すぎない方が好ましい •ヒストリログとかDWHとか •バックアップサーバとか
![Page 34: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/34.jpg)
まとめ
![Page 35: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/35.jpg)
まとめ
![Page 36: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/36.jpg)
うそですすいません((((;゚Д゚))))
![Page 37: NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴](https://reader034.vdocuments.mx/reader034/viewer/2022042501/55a786861a28ab8d188b4694/html5/thumbnails/37.jpg)
まとめ•CPUバウンドな処理な所には入れづらいっす
•でも容量は欲しいけどアクセスが頻繁じゃないものには有用です
•試験しつつ模索中 •引き続き検証していきます