22.9.4 Performance Schema Wait Event Tables
이 테이블은 대기 이벤트를 저장합니다.
events_waits_current
: 현재 대기 이벤트events_waits_history
: 각 스레드의 최신 대기 이벤트events_waits_history_long
: 전체 최신 대기 이벤트
다음 섹션에서는 그 테이블에 대해 설명합니다. 대기 이벤트에 대한 정보를 요약하는 요약 테이블도 있습니다. 섹션 22.9.9.1 "이벤트 대기 요약 테이블" 을 참조하십시오.
대기 이벤트 구성
대기 이벤트의 수집을 활성화하려면 관련 instrument와 소비자를 활성화합니다.
setup_instruments
테이블에는 wait
로 시작하는 이름을 가진 instrument가 포함됩니다. 예 :
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 | +----------------------------------------+---------+-------+
대기 이벤트의 수집을 변경하려면 관련 instrument의 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 "성능 스키마 구성" 을 참조하십시오.