performance_schema
- パフォーマンスモニタリングのためのストレージエンジン
table_io_waits_summary_by_table
ユーザテーブル単位の読み込み、書き込みのリクエスト回数やレイテンシーなどを集計した情報を提供
例 : テーブルを作成し、INSERT 文を発行して、COUNT 関連のカラムを確認
データベースの作成
mysql> CREATE DATABASE test; Query OK, 1 row affected (0.02 sec) Database changed
テーブルの作成
mysql> CREATE TABLE t0 (id serial, id2 int); Query OK, 0 rows affected (0.05 sec)
INSERT 文の実行
mysql> INSERT INTO t0 (id2) VALUES (1),(2); Query OK, 2 rows affected (0.03 sec) Records: 2 Duplicates: 0 Warnings: 0
カラムの確認
mysql> SELECT OBJECT_NAME,COUNT_FETCH,COUNT_INSERT,COUNT_UPDATE,COUNT_DELETE FROM performance_schema.table_io_waits_summary_by_table WHERE OBJECT_NAME='t0'\G *************************** 1. row *************************** OBJECT_NAME: t0 COUNT_FETCH: 0 COUNT_INSERT: 2 COUNT_UPDATE: 0 COUNT_DELETE: 0 1 row in set (0.01 sec)
- INSERT を 2 回実行しているので 2 になっている
SELECT を実行すると FETCH が増える
mysql> SELECT * FROM t0; +----+------+ | id | id2 | +----+------+ | 1 | 1 | | 2 | 2 | +----+------+ 2 rows in set (0.01 sec) mysql> SELECT OBJECT_NAME,COUNT_FETCH,COUNT_INSERT,COUNT_UPDATE,COUNT_DELETE FROM performance_schema.table_io_waits_summary_by_table WHERE OBJECT_NAME='t0'\G *************************** 1. row *************************** OBJECT_NAME: t0 COUNT_FETCH: 2 COUNT_INSERT: 2 COUNT_UPDATE: 0 COUNT_DELETE: 0 1 row in set (0.01 sec)
file_summary_by_instance
- ファイルごとの読み込み・書き込みの IO 回数やレイテンシーなどを集計した情報を提供
- ファイル単位の IO 集計なので,ユーザテーブル(InnoDB テーブルであれば ibd ファイル) だけではなく、エラーログ、バイナリーログや InnoDB ログファイルなどの MySQL が IO を行うすべてのファイルの情報を提供
sys.schema_table_statistics
- table_io_waits_summary_by_table と file_summary_by_instance をジョインして,ユーザテーブル単位の読み込みや書き込みのリクエスト回数,読み込みや書き込みの IO 回数やレイテンシーを表示してくれる
mysql> select * from sys.schema_table_statistics where table_name='t0'\G
*************************** 1. row ***************************
table_schema: test
table_name: t0
total_latency: 612.89 us
rows_fetched: 2
fetch_latency: 32.42 us
rows_inserted: 2
insert_latency: 580.47 us
rows_updated: 0
update_latency: 0 ps
rows_deleted: 0
delete_latency: 0 ps
io_read_requests: 0
io_read: 0 bytes
io_read_latency: 0 ps
io_write_requests: 8
io_write: 224.00 KiB
io_write_latency: 1.14 ms
io_misc_requests: 7
io_misc_latency: 11.96 ms
1 row in set (0.14 sec)