これらのテーブルは待機イベントを格納します。
events_waits_current
: 現在の待機イベントevents_waits_history
: 各スレッドの最新の待機イベントevents_waits_history_long
: 全体の最新の待機イベント
次のセクションでそれらのテーブルについて説明します。待機イベントに関する情報を集計するサマリーテーブルもあります。セクション22.9.9.1「イベント待機サマリーテーブル」を参照してください。
待機イベント構成
待機イベントの収集を有効にするには、関連インストゥルメントとコンシューマを有効にします。
setup_instruments
テーブルには、wait
で始まる名前を持つインストゥルメントが格納されます。例:
mysql> SELECT * FROM setup_instruments WHERE NAME LIKE 'wait/io/file/innodb%';
+--------------------------------------+---------+-------+
| NAME | ENABLED | TIMED |
+--------------------------------------+---------+-------+
| wait/io/file/innodb/innodb_data_file | YES | YES |
| wait/io/file/innodb/innodb_log_file | YES | YES |
| wait/io/file/innodb/innodb_temp_file | YES | YES |
+--------------------------------------+---------+-------+
mysql> SELECT * FROM setup_instruments WHERE NAME LIKE 'wait/io/socket/%';
+----------------------------------------+---------+-------+
| NAME | ENABLED | TIMED |
+----------------------------------------+---------+-------+
| wait/io/socket/sql/server_tcpip_socket | NO | NO |
| wait/io/socket/sql/server_unix_socket | NO | NO |
| wait/io/socket/sql/client_connection | NO | NO |
+----------------------------------------+---------+-------+
待機イベントの収集を変更するには、関連インストゥルメントの ENABLED
および TIMING
カラムを変更します。例:
mysql> UPDATE setup_instruments SET ENABLED = 'YES', TIMED = 'YES'
-> WHERE NAME LIKE 'wait/io/socket/sql/%';
setup_consumers
テーブルには現在および最近の待機イベントテーブル名に対応する名前を持つコンシューマ値が格納されます。これらのコンシューマは待機イベントのコレクションをフィルタ処理するために使用できます。待機コンシューマはデフォルトで無効にされています。
mysql> SELECT * FROM setup_consumers WHERE NAME LIKE '%waits%';
+---------------------------+---------+
| NAME | ENABLED |
+---------------------------+---------+
| events_waits_current | NO |
| events_waits_history | NO |
| events_waits_history_long | NO |
+---------------------------+---------+
すべての待機コンシューマを有効にするには、次を実行します。
mysql> UPDATE setup_consumers SET ENABLED = 'YES'
-> WHERE NAME LIKE '%waits%';
setup_timers
テーブルには、待機イベントのタイミングの単位を示す wait
の NAME
値のある行が格納されます。デフォルトの単位は CYCLE
です。
mysql> SELECT * FROM setup_timers WHERE NAME = 'wait';
+------+------------+
| NAME | TIMER_NAME |
+------+------------+
| wait | CYCLE |
+------+------------+
タイミングの単位を変更するには、TIMER_NAME
値を変更します。
mysql> UPDATE setup_timers SET TIMER_NAME = 'NANOSECOND'
-> WHERE NAME = 'wait';
イベント収集の構成に関する追加情報については、セクション22.2「パフォーマンススキーマ構成」を参照してください。