mysqlクライアントから定期実行してたし、計算は別途やってた。
SHOW [GLOBAL ]STATUSで取れるのは、「サーバー起動からの累積値」または「コマンド発行時の瞬間値」という仕様のため、前者について推移を知りたいときは、
・定間隔でコマンド発行してファイルに吐く(ex: mysql -e "SHOW GLOBAL STATUS;" >> mysql-statsus.log)
・前回との差分を計算(Excelとか使う
が必要だと思っていました。
今日の驚き
キッカケは、私も過去に参加したことがある、Oracle公式のトレーニング「初心者向け!MySQL 5.7入門」に参加されていた方のツイート。
mysqladminというツールを使うと例えば15秒間隔でステータス変数の差分のみ表示などができる!#mysql_jp
— show (@surumegohan) 2017年8月14日
(セミナー全体のまとめはこちらにあります )
MySQL 5.7 初心者向けセミナー ~チューニング基礎編、SQLチューニング編~ 20170814 - Togetterまとめ
えー。公式ドキュメントに、そんなの書いてあったっけー?
。。。コレか!
--relative, -r
--sleep オプションとともに使用された場合、現在値と以前の値の差異を表示します。このオプションは extended-status コマンドとのみ機能します。
(強調はこちらでつけたもの)
https://dev.mysql.com/doc/refman/5.6/ja/mysqladmin.html#option_mysqladmin_relative
って、記述はたったこれだけ。
ただ、mysqladminにすると、SHOWコマンドのときに使えたLikeによる絞り込みができなさそうなので、mysqlコマンドで定期実行するのと一長一短ぽい。
そして
http://downloads.mysql.com/presentations/20151208_02_MySQL_Tuning_for_Beginners.pdf
定期的に確認する例(15秒間隔で、ステータス変数の差分のみ表示)
shell> mysqladmin -u <ユーザー名> -p ex -i 15 -r | grep -v ‘0‘
公開資料(ダウンロード済)にも、ちゃんと書いてあった(泣)
「初心者向け」とか「入門」って書いてある本も、時々読み返そう!
- 作者: 梶山隆輔,山崎由章
- 出版社/メーカー: インプレス
- 発売日: 2016/12/15
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る