道具を磨くことのススメ
Upcoming SlideShare
Loading in...5
×
 

道具を磨くことのススメ

on

  • 4,342 views

#mysqlcasual 3のLT資料

#mysqlcasual 3のLT資料

------

The materials of #mysqlcasual 3

Statistics

Views

Total Views
4,342
Views on SlideShare
1,518
Embed Views
2,824

Actions

Likes
2
Downloads
12
Comments
0

10 Embeds 2,824

http://d.hatena.ne.jp 2748
http://blog.masudak.net 30
http://www.masudak.net 17
http://feeds.feedburner.com 9
http://webcache.googleusercontent.com 7
https://twitter.com 6
https://si0.twimg.com 4
https://twimg0-a.akamaihd.net 1
http://webcache-exp-test.googleusercontent.com 1
http://hatenatunnel.appspot.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

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
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

道具を磨くことのススメ 道具を磨くことのススメ Presentation Transcript

  • 道具を磨くことのススメ 2012/04/19 #mysqlcasual 3 @masudaK
  • 自己紹介• @masudaK• 緑の会社でOperation Engineer• 大規模大好き• ニーハイ好き• 詳しくは #増田チャラい
  • では、本題
  • 道具に惑わされては いけない
  • 本質掴む
  • そのとおりでござる
  • 駄菓子菓子!!
  • よくある光景
  • Q) その設定搭載メモリ超えてない?
  • A) バッファに載ったら終わります (キリッ
  • Q) バッファどれくらい使われてる?
  • A) 分かりません (キリッ
  • Q) n時n分からn分まで走る クエリ分析しといてー
  • A) えっ(カジュアル風に
  • 事前にある便利なもの使おうず(カジュアルに)
  • ミス減らそうず(カジュアルに)
  • 今から可能な限り ご紹介(カジュアルに)
  • 設定編
  • 1. mymemcheck
  • • 最大使用メモリ見積もりを ご提出• http://dsas.blog.klab.org/ archives/50860867.html
  • 知ってる人ー ノ
  • • こんな感じ(詳しくはウェブ(ry• process heap =• innodb_buffer_pool + key_buffer +• max_connections * (sort_buffer + read_buffer + read_rnd_buffer) + max_connections * stack_size
  • 2Gマシンで大量設定してみた
  • 2G > 7.940 [G] ... LIMIT OVER!!
  • 2. MySQLTuner
  • • https://github.com/ rackerhacker/MySQLTuner- perl• Performance Metricsっていう のがある
  • 知ってる人ー ノ
  • • こんなこと教えてくれる•     query_cache_size (>= 8M)•     thread_cache_size (start at 4)•     innodb_buffer_pool_size (>= 807M)• とかとか
  • 眺めて解析編
  • • EXPLAIN• EXPLAIN• ADD INDEX• FORCE INDEX• クエリ改善ご提案• 基本中の基本
  • 3. tcpdumpからのー
  • 4. pt-query-digest
  • @mikedaさんが紹介してくれるはず
  • 5. PROFILING
  • • SET PROFILE• その実行スレッドにのみ有効• どこに時間かかってるかとか• パッと見で分かりづらい時便利
  • 知ってる人ー ノ
  • mysql> SET profiling=1;mysql> 適当なクエリ発行
  • mysql> SHOW PROFILE;+--------------------+----------+| Status             | Duration |+--------------------+----------+| starting           | 0.000087 || Opening tables     | 0.000063 || System lock         | 0.000009 || init               | 0.000009 || optimizing         | 0.000004 || statistics         | 0.000009 || preparing           | 0.000010 || executing           | 0.002878 || Sending data       | 0.000292 || end                 | 0.000010 || query end           | 0.000003 || closing tables     | 0.000002 || removing tmp table | 0.000008 || closing tables     | 0.000003 || freeing items       | 0.003564 || logging slow query | 0.000009 || cleaning up         | 0.000003 |
  • mysql> SHOW PROFILE SOURCE;+--------------------+----------+-----------------------+---------------+-------------+| Status             | Duration | Source_function       | Source_file   | Source_line |+--------------------+----------+-----------------------+---------------+-------------+| starting           | 0.000087 | NULL                  | NULL          |        NULL || Opening tables     | 0.000063 | open_tables           | sql_base.cc   |        4837 || System lock        | 0.000009 | mysql_lock_tables     | lock.cc       |         299 || init               | 0.000009 | mysql_select          | sql_select.cc |        2554 || optimizing         | 0.000004 | optimize              | sql_select.cc |         863 || statistics         | 0.000009 | optimize              | sql_select.cc |        1054 || preparing          | 0.000010 | optimize              | sql_select.cc |        1076 || executing          | 0.002878 | exec                  | sql_select.cc |        1823 || Sending data       | 0.000292 | exec                  | sql_select.cc |        2365 || end                | 0.000010 | mysql_select          | sql_select.cc |        2590 |Statusを格納してる箇所の行数まで出してくれるここまで必要なクエリはほとんどないと思(ry
  • 6. MySlowTranCapture
  • • 単発クエリは早いのに、トランザク ションだと遅いものとか検知してくれ る• https://github.com/yoshinorim/ MySlowTranCapture
  • 知ってる人ー ノ
  • 松信本購入するしかない。
  • 楽したい編
  • 7. TPC-C
  • 知ってる人ー ノ
  • カジュアル怖い
  • • データ作るのめんどい• tpcc_load localhost tpcc1000 root "" 100• ./tpcc_start -h localhost -d tpcc1000 -u root -w 10 - c 2 -r 10 -l 30• Sの人向け。hはもっとハード。
  • 8. Facebook, onlineschema change tool
  • 知ってる人ー ノ
  • • http://www.facebook.com/notes/mysql-at- facebook/online-schema-change-for-mysql/ 430801045932• 誰かプロダクトで(ry
  • 情報収集編
  • 9. MySQL Performance Blogを愛読
  • 愛読してる人ー ノ
  • シュワルツの笑顔 やばい
  • 10. Baron Schwartz 傾倒してみる
  • 11. カンファレンス 資料を漁る
  • 胸熱
  • まだまだ色々
  • 終わりに• 道具が全てではない• けど、問題解決の糸口として• プロダクトで使えるものは(ry• アウトプットを是非
  • 最後に
  • サイバーエージェント一緒に働いてくれる人 募集中
  • ご清聴ありがとうございました