タグ: #MySQL
MaatKitの紹介
講演者 吉田晃典(株式会社はてな) id:marqs @marqs 資料 http://www.slideshare.net/marqs/maatkit-4098945 MaatkitというMySQL用のツール群の紹介。
ツールの数が多いので、この講演ではよく使うツール数個について説明されていた。
特徴
- ドキュメントもあるし、オプション例もある
- Facebookを始め多数の企業に導入されている
- 商用サポートもあるらしい
- rpmなどもあり、導入は簡単
- しかし日本語の情報はほとんどないらしい、というか日本ではほとんど使われてないらしい
- はてなではMySQLサーバ構築時に一緒にインストールする
- 最近は memcached,postgresql にも対応しているらしいが未検証
mk-find
- GNU find っぽくテーブル情報を検索できる。正規表現ももちろんOK
- 例 4GB以上のテーブルをすべて出力
- 抽出したテーブルに対し処理を実行することも可能
- 例 MyISAMのテーブルを全てInnoDBに変換
mk-slave-restart
- エラーで止まったmysqldをリスタートする。エラー番号指定可能
mk-kill
- 特定条件にマッチしたクエリをkillする。条件指定が豊富
- 例 バッチサーバから本番DBに間違って投げられた参照クエリを kill
mk-slave-move
- レプリケーションスレーブを移動。子→孫、孫→子、孫→別の子スレーブの孫、etc…
- 実行時にレプリケーションが止まるので、本番環境から外して実行しておくこと!
mk-query-digest
- クエリ解析ツール。解析できるデータ形式が豊富。
- slowlog/tcpdump/binlog etc…
- 出力は mysqldumpslow ライク
- はてなでは毎日cronでmk-query-digestを流してクエリ改善の指標としているらしい
- あるサーバへのクエリのうちselectだけを別サーバに向けるなんてこともできる
その他
- MKDEBUG=1でデバッグ出力できる
このツールはハンパ無いです。
特にmk-query-digestというクエリ解析ツールを使って、頻出のスロークエリだけ抽出したりも出来ます。
SlowQueryLogをそのままlessやtailfで見ているなら今すぐにでも導入した方が良いですね。rpmもあるそうです。
2年前 | 固定リンク | 2010年 5月 23日 | 
