Loading...
MySQL 9.5 Reference Manual 9.5의 22.5.7 Monitoring X Plugin의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
일반적인 X Plugin 모니터링을 위해서는 X Plugin이 노출하는 status 변수들을 사용합니다. Section 22.5.6.3, “X Plugin Status Variables”를 참조하십시오. 메시지 압축 효과 모니터링에 대한 구체적인 정보는 Monitoring Connection Compression for X Plugin을 참조하십시오.
이 섹션에서는 X DevAPI 연산을 실행할 때 X Plugin이 생성하는 SQL 문을 모니터링하는 방법을 설명합니다. CRUD 문을 실행하면, 이는 SQL로 변환되어 서버에 대해 실행됩니다. 생성된 SQL을 모니터링할 수 있도록 Performance Schema 테이블이 활성화되어 있어야 합니다.
SQL은 performance_schema.events_statements_current, performance_schema.events_statements_history, performance_schema.events_statements_history_long 테이블에 기록됩니다.
다음 예시는 이 섹션의 퀵스타트 튜토리얼의 일부로 import된 world_x 스키마를 사용합니다. 우리는 MySQL Shell을 Python 모드에서 사용하며, SQL 모드로 전환하지 않고 SQL 문을 실행할 수 있게 해주는 \sql 명령을 사용합니다.
이는 중요합니다. 왜냐하면 SQL 모드로 전환을 시도하면, 이 절차는 X DevAPI 연산이 아니라 이 전환 연산의 결과를 보여주기 때문입니다. \sql 명령은 MySQL Shell을 JavaScript 모드에서 사용할 때도 동일한 방식으로 사용됩니다.
events_statements_history consumer가 활성화되어 있는지 확인합니다. 다음을 실행하십시오:1mysql-py> \sql SELECT enabled FROM performance_schema.setup_consumers WHERE NAME = 'events_statements_history' 2+---------+ 3| enabled | 4+---------+ 5| YES | 6+---------+
1mysql-py> \sql SELECT NAME, ENABLED, TIMED FROM performance_schema.setup_instruments WHERE NAME LIKE 'statement/%' AND NOT (ENABLED and TIMED)
이 문이 한 행 이상을 보고한다면, instrument를 활성화해야 합니다. Section 29.4, “Performance Schema Runtime Configuration”을 참조하십시오.
1mysql-py> \sql SELECT thread_id INTO @id FROM performance_schema.threads WHERE processlist_id=connection_id()
1mysql-py> db.CountryInfo.find("Name = :country").bind("country", "Italy")
다음 단계에서 올바른 결과를 표시하려면 추가 연산을 수행하지 않아야 합니다.
1mysql-py> \sql SELECT THREAD_ID, MYSQL_ERRNO,SQL_TEXT FROM performance_schema.events_statements_history WHERE THREAD_ID=@id ORDER BY TIMER_START DESC LIMIT 1; 2+-----------+-------------+--------------------------------------------------------------------------------------+ 3| THREAD_ID | MYSQL_ERRNO | SQL_TEXT | 4+-----------+-------------+--------------------------------------------------------------------------------------+ 5| 29 | 0 | SELECT doc FROM `world_x`.`CountryInfo` WHERE (JSON_EXTRACT(doc,'$.Name') = 'Italy') | 6+-----------+-------------+--------------------------------------------------------------------------------------+
결과는 가장 최근 문을 기반으로 X Plugin이 생성한 SQL을 보여주며, 이 경우 이전 단계의 X DevAPI CRUD 연산에 해당합니다.
22.5.6 X Plugin Options and Variables
23 InnoDB Cluster