11:リストア速度(Building directory treeの速度)が劇的に早くなった

Date 2015-7-4 23:27:20 | Topic: Baclua(バックアップ)に挑戦

今までBuilding directory treeに時間が掛かっていたのはMYSQLの設定だった。
時間が掛かりすぎるのでbacluaのメーリングリストで聞いたら、やっぱりおかしいようだ。
一番の問題点はMYSQLのデーターベースエンジンに MyISAMを使っている事みたい。
これをInnoDBに変更する。ALTER TABLE テーブル名 ENGINE=InnoDB; を行なえと書いてあるが、データーベースごとそっくり変更出来ないかと調べたが、テーブル単位でしか出来ないようだ。
それではとデーターベースをエクスポートして、データーベース名を変更し、新規にbaculaをInnoDBで作り、インポートしたらおかしくなっていた。インポートしたファイルを見るとDBの指定がMyISAMになっていた。
面倒くさいので、既存のDBのテーブルを一つずつInnoDBにしてから
http://bacula.us/tuning/ にあるように /etc/my.cnf に
    sort_buffer_size = 2MB
    default-storage-engine=INNODB ←今後作るdatabaseのエンジンをINNODBにする
    innodb_buffer_pool_size = 128MB
    innodb_flush_log_at_trx_commit = 0
    innodb_flush_method = O_DIRECT
を追記し、mysqlを再起動、テストで
+-------+-------+----------+---------------+---------------------+------------+
| JobId | Level | JobFiles | JobBytes      | StartTime           | VolumeName |
+-------+-------+----------+---------------+---------------------+------------+
|     4 | F     |  258,441 | 2,262,481,683 | 2015-07-02 14:32:50 | Vol-0004   |
|    14 | I     |      158 |    79,623,411 | 2015-07-03 04:32:49 | Vol-0014   |
+-------+-------+----------+---------------+---------------------+------------+
You have selected the following JobIds: 4,14
Building directory tree for JobId(s) 4,14 ...
のケースではBuilding directory treeに5時間20分(リストア全体の時間ではない、Building directory treeだけにかかった時間)掛かっていたのが、10秒位で終わった。
何だこれは!!こんなに違うの!!そういえば以前は”Building directory tree”の時CPUのユーティライゼションが100%になっていた。この時SWAPの状態をチェックしていなかったが、もしかしたらSWAPが大量に発生していたのかも?
【結論】baculaでmysqlを使うときは絶対にDBのベースエンジンは InnoDB にし、上記の設定を追加する事


This article comes from 錦稜会 KINRYOKAI
https://www.kinryokai.net

The URL for this story is:
https://www.kinryokai.net/article.php?storyid=264