• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Zabbix study5lt
 

Zabbix study5lt

on

  • 3,594 views

Zabbix勉強会5のLT資料です

Zabbix勉強会5のLT資料です

Statistics

Views

Total Views
3,594
Views on SlideShare
1,608
Embed Views
1,986

Actions

Likes
3
Downloads
14
Comments
0

5 Embeds 1,986

http://d.hatena.ne.jp 1052
http://blog.matsumoto-r.jp 894
http://mikeda.hatenablog.com 27
http://webcache.googleusercontent.com 10
http://translate.googleusercontent.com 3

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Zabbix study5lt Zabbix study5lt Presentation Transcript

    • カジュアルなクエリ品質管理 MySQL Casual Talks Vol.3 @mikeda
    • まきでいきます (;´Д ` ) ハァハァ
    • 自己紹介  @mikeda – インフラエンジニア – 最近作ってるもの→ – MySQL Casual 初参加!  CROOZ – ソーシャルゲーム、ブログ、… – MySQL 200 台くらい。 SSD 増加中 – サービス用 SQL 書いたことない><
    • 今日は 何番煎じかわからないですが、 クエリ解析の話をしようと思います
    • はじめに
    • たまにある光景「イベント打つから DB 倍にして!」「チューニングでなんとかなりませんか・・・?」「そんな余裕くぁ w せ drftgy ふじこ lp 」 サーバ増設。その後。。。「クエリなおしたら負荷半分になったわ」(#^ω^) ビキビキ
    • たまにある DB 負荷推移 大きな改善 ・ SSD 投入 ・ DB 分割 危険ライン これでしばらく安心や!!!チューニング
    • たまにある DB 負荷推移 危険ライン しかしなぜか元に戻る
    • たまにある DB 負荷推移 V 危険ライン しかしなぜか元に戻る DB 負荷の V 字回復
    • なぜ?• クエリ品質の管理ができていない     ↓• 後手後手の対応     ↓• 余計なサーバコスト
    • サーバエンジニアとして考えるサーバ、 MySQL の監視– CPU 使用率、ディスク IO 、…– スレッド数、各種キャッシュヒット率、…それだけでいいのか?クエリ品質も同じ!– 見える化 これ大事!– 指標化– 監視
    • というわけでその歴史
    • 1.原始の時代
    • スロークエリ解析• 出てくるのは – バッチ系、ほんとにどうしようもないクエリ• 本命を拾えない – 例えば 1 回 50ms かかってる件数多めクエリ• 本当に問題なクエリがログに現れだした時。。。 既にサービスは落ちている (´ ・ ω ・` ) ショボーン※ ホントは設定次第でいろいろできます><
    • 職人解析 「サーバ重いっすね」    ↓ 職人が show processlist を連打    ↓ これだ ( ゚ д ゚ ) クワッ !!職人のノリ次第※ 現れる頻度の解析は正しいアプローチ
    • もっと正確で、だれにでもわかるようにしたい※ ほんとはもっといろいろやってます><
    • 2.全クエリ解析してみよう時代
    • mk-query-digest でクエリ解析• mk-query-digest – MaatKIt に入ってるクエリをいい感じに解析してくれるツール – @marqs :『 MaatKIT の紹介』• tcpdump との組合せ – tcpdump のキャプチャファイルを食える – @ryiwo :『 tcpdump & xtrabackup 』• アプリ、 MySQL を触らなくていい!  →(自分には)導入が簡単!!!
    • MaatKit って 最近、 Percona Toolkit になった・・・?  pt-query-digest ・・・?
    • MaatKit って 最近、 Percona Toolkit になった・・・?  pt-query-digest ・・・?
    • 全体的な概要 ① 解析スクリプトを送って実行管理サーバApache 毎朝バッチ実行 DB サーバDAV on Maatkit 導入済みOptions Indexes ② 結果を WEVDAV でアップ③ ブラウザで確認 90 台並列 ※ かぶらないようにアタマに SLEEP
    • スクリプト 概要• 概要 • tcpdump でキャプチャ • mk-query-digest で解析 • 結果を管理サーバにアップ• 細かいところは省略 ブログにアップしてます   http://d.hatena.ne.jp/mikeda/20111204/1322980203
    • スクリプト ちょっと変えてる ところ• よくある例# tcpdump -i eth0 port 3306 -s 65535 -x -nn -q -tttt -l > dump.txt# mk-query-digest --type tcpdump dump.txt テキストで保存 pcap 形式で保存• 自分のやつ → ファイルサイズが 1/3 に# tcpdump -i eth0 port 3306 -s 65535 -w qd.pcap# tcpdump -s 65535 -x -nn -q -tttt -l -r qd.pcap | mk-query-digest --type tcpdump --explain "h=127.0.0.1,u=root,p=password” --explain オプション →EXPLAIN 結果がつく!
    • ブラウザで確認DB サーバ名のディレクトリが並んでる
    • ブラウザで確認解析結果が 1 ヶ月分並んでる
    • ブラウザで確認全体的なクエリ統計 合計実行時間の比率 平均実行時間 EXPLAIN サマリクエリランキング 実行回数 クエリ
    • ブラウザで確認クエリごとの統計が並ぶ 実行時間、回数 接続元 IP などなど 実行時間分布 サンプルクエリ EXPLAIN 結果
    • そして・・・• これなら自分でもなんとなくわかる!    • クエリ品質の底上げなるか・・・?
    • しかし・・・• なかなか見てくれないw• 見るのめんどくさい →正しいベンチャーマインド
    • 3.カジュアル化の時代
    • サマリ作成• 毎日バッチでサマリページを作成• 簡単な指標を作って色付け – 実行時間の比率 – 1回あたりの実行時間 – EXPLAIN 結果
    • サマリページ 全体見た目がカジュアル(しょぼい)!!!
    • サマリページ 1ステータス 詳細解析へのリンク サマリ解析へのリンク要注意サーバが一目でわかる!
    • サマリページ 2要注意クエリが一目でわかる!
    • サマリページ おまけ EXPLAIN サマリの対応表と 日本男子さんの解説ページへのリンク細やかな気づかい!
    • ちょっとめんどくさくなくなった!?
    • そして夢の生活が・・・「赤いのなおしたら負荷下がりました。」「サーバ減らしましょう( ^ ω ^)ニコッ 」「サーバ追加必要ですかね?」「緑でこの負荷ですか、 じゃあ足しましょう( ^ ω ^)ニコッ 」
    • 妄想でした。まとめ• クエリ品質管理をカジュアルにやりたい! – 最低限おさえるべきところが簡単にチェックでき るように• まだまだ精度が高くない – 画一的に指標化しづらい – MySQL 知識不足• アドバイスお待ちしてます!
    • 終わりです