狠狠撸
Submit Search
Zabbix study5lt
?
Download as PPT, PDF
?
3 likes
?
1,994 views
Tomohiro Ikeda
Follow
窜补产产颈虫勉强会5の尝罢资料です
Read less
Read more
1 of 39
Download now
More Related Content
Zabbix study5lt
1.
カジュアルなクエリ品質管理 MySQL
Casual Talks Vol.3 @mikeda
2.
まきでいきます (;?Д `
) ????
3.
自己紹介 @mikeda –
インフラエンジニア – 最近作ってるもの→ – MySQL Casual 初参加! CROOZ – ソーシャルゲーム、ブログ、… – MySQL 200 台くらい。 SSD 増加中 – サービス用 SQL 書いたことない><
4.
今日は 何番煎じかわからないですが、 クエリ解析の話をしようと思います
5.
はじめに
6.
たまにある光景 「イベント打つから DB 倍にして!」 「チューニングでなんとかなりませんか????」 「そんな余裕くぁ
w せ drftgy ふじこ lp 」 サーバ増設。その後。。。 「クエリなおしたら負荷半分になったわ」 (#^ω^) ??????
7.
たまにある DB 負荷推移
大きな改善 ? SSD 投入 ? DB 分割 危険ライン これでしばらく安心や!!! チューニング
8.
たまにある DB 負荷推移
危険ライン しかしなぜか元に戻る
9.
たまにある DB 負荷推移
V 危険ライン しかしなぜか元に戻る DB 負荷の V 字回復
10.
なぜ? ? クエリ品質の管理ができていない ↓ ? 後手後手の対応 ↓ ?
余计なサーバコスト
11.
サーバエンジニアとして考える サーバ、 MySQL の監視 –
CPU 使用率、ディスク IO 、… – スレッド数、各種キャッシュヒット率、… それだけでいいのか? クエリ品質も同じ! – 見える化 これ大事! – 指標化 – 監視
12.
というわけでその歴史
13.
1.原始の时代
14.
スロークエリ解析 ? 出てくるのは –
バッチ系、ほんとにどうしようもないクエリ ? 本命を拾えない – 例えば 1 回 50ms かかってる件数多めクエリ ? 本当に問題なクエリがログに現れだした時。。。 既にサービスは落ちている (? ? ω ?` ) ?????? ※ ホントは設定次第でいろいろできます><
15.
職人解析 「サーバ重いっすね」 ↓ 職人が
show processlist を連打 ↓ これだ ( ? д ? ) ??? !! 職人のノリ次第 ※ 現れる頻度の解析は正しいアプローチ
16.
もっと正確で、だれにでもわかるようにしたい ※ ほんとはもっといろいろやってます><
17.
2.全クエリ解析してみよう时代
18.
mk-query-digest でクエリ解析 ? mk-query-digest
– MaatKIt に入ってるクエリをいい感じに解析してくれるツール – @marqs :『 MaatKIT の紹介』 ? tcpdump との組合せ – tcpdump のキャプチャファイルを食える – @ryiwo :『 tcpdump & xtrabackup 』 ? アプリ、 MySQL を触らなくていい! →(自分には)導入が簡単!!!
19.
MaatKit って 最近、 Percona
Toolkit になった???? pt-query-digest ????
20.
MaatKit って 最近、 Percona
Toolkit になった???? pt-query-digest ????
21.
全体的な概要
① 解析スクリプトを送って実行 管理サーバ Apache 毎朝バッチ実行 DB サーバ DAV on Maatkit 導入済み Options Indexes ② 結果を WEVDAV でアップ ③ ブラウザで確認 90 台並列 ※ かぶらないようにアタマに SLEEP
22.
スクリプト 概要 ? 概要
? tcpdump でキャプチャ ? mk-query-digest で解析 ? 結果を管理サーバにアップ ? 細かいところは省略 ブログにアップしてます http://d.hatena.ne.jp/mikeda/20111204/1322980203
23.
スクリプト ちょっと変えてる
ところ ? よくある例 # 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 結果がつく!
24.
ブラウザで確認 DB サーバ名のディレクトリが並んでる
25.
ブラウザで確認 解析結果が 1 ヶ月分並んでる
26.
ブラウザで確認 全体的なクエリ統計
合計実行時間の比率 平均実行時間 EXPLAIN サマリ クエリランキング 実行回数 クエリ
27.
ブラウザで確認 クエリごとの統計が並ぶ
実行時間、回数 接続元 IP などなど 実行時間分布 サンプルクエリ EXPLAIN 結果
28.
そして??? ? これなら自分でもなんとなくわかる!
? クエリ品質の底上げなるか????
29.
しかし??? ? なかなか見てくれないw ? 見るのめんどくさい →正しいベンチャーマインド
30.
3.カジュアル化の时代
31.
サマリ作成 ? 毎日バッチでサマリページを作成 ? 簡単な指標を作って色付け
– 実行時間の比率 – 1回あたりの実行時間 – EXPLAIN 結果
32.
サマリページ 全体 見た目がカジュアル(しょぼい)!!!
33.
サマリページ 1 ステータス
詳細解析へのリンク サマリ解析へのリンク 要注意サーバが一目でわかる!
34.
サマリページ 2 要注意クエリが一目でわかる!
35.
サマリページ おまけ
EXPLAIN サマリの対応表と 日本男子さんの解説ページへのリンク 細やかな気づかい!
36.
ちょっとめんどくさくなくなった!?
37.
そして夢の生活が??? ?赤いのなおしたら負荷下がりました。」 「サーバ減らしましょう( ^ ω
^)??? 」 「サーバ追加必要ですかね?」 「緑でこの負荷ですか、 じゃあ足しましょう( ^ ω ^)??? 」
38.
妄想でした。まとめ ? クエリ品質管理をカジュアルにやりたい! –
最低限おさえるべきところが簡単にチェックでき るように ? まだまだ精度が高くない – 画一的に指標化しづらい – MySQL 知識不足 ? アドバイスお待ちしてます!
39.
终わりです
Download