2010年 5月 23日 はてなブックマーク -
タグ: #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でデバッグ出力できる

hbstudy#11 - 科学と非科学の迷宮

このツールはハンパ無いです。
特にmk-query-digestというクエリ解析ツールを使って、頻出のスロークエリだけ抽出したりも出来ます。
SlowQueryLogをそのままlessやtailfで見ているなら今すぐにでも導入した方が良いですね。rpmもあるそうです。


2年前 | | 2010年 5月 23日 | このエントリーを含むはてなブックマーク