22.2.3.3 이벤트 pre-filtering
pre-filtering Performance Schema에 의해 만들어진 모든 사용자에게 적용되는 글로벌 효과를가집니다. pre-filtering은 이벤트 처리의 생산 또는 소비 단계에 적용 할 수 있습니다.
생산 단계에서 pre-filtering을 구성하려면 여러 테이블을 사용할 수 있습니다.
setup_instruments
는 사용 가능한 instruments를 보여줍니다. 이 테이블에서 해제되는 instruments는 다른 생성 관련 설정 테이블의 내용에 관계없이 이벤트를 생성하지 않습니다. 이 테이블에서 사용되는 instruments는 이벤트의 생성이 허용되고 다른 테이블의 내용에 따라 달라집니다.setup_objects
Performance Schema가 특정 테이블 개체를 모니터할지 여부를 제어합니다.threads
스레드는 각 서버 스레드에서 모니터링이 활성화되어 있는지 여부를 나타냅니다.setup_actors
는 새로운 포 그라운드 스레드의 초기 모니터링 상태를 결정합니다.
consumer 스테이지에서 pre-filtering을 구성하려면
setup_consumers
테이블을 변경합니다. 이를 통해 이벤트 대상이 결정됩니다.setup_consumers
은 이벤트 생성 또는 암시 적으로 영향을 미칩니다. 특정 이벤트가 어떤 대상에 전송되지 않은 (즉 소비되지 않는) 경우 Performance Schema는 그것을 생성하지 않습니다.
이러한 테이블 중 하나의 변경은 setup_actors
를 제외하고 즉시 모니터링에 영향을줍니다. setup_actors
의 변경은 변경 후 생성되는 전경 스레드에만 영향을줍니다.
모니터링 구성을 변경하면 Performance Schema는 기록 테이블을 플래시하지 않습니다. 이미 수집 된 이벤트는 새로운 이벤트로 대체 될 때까지 현재의 이벤트 및 기록 테이블에 남아 있습니다. instruments를 사용하지 않으려면 해당 이벤트가 관심있는 새로운 이벤트로 대체 될 때까지 잠시 기다려야 할 수 있습니다. 또는 TRUNCATE TABLE
을 사용하여 기록 테이블을 비 웁니다.
계측을 변경 한 후 요약 테이블을 버리고 이전에 수집 된 이벤트의 집계 정보를 삭제할 필요가있을 수 있습니다. events_statements_summary_by_digest
을 제외하고 요약 테이블의 TRUNCATE TABLE
의 효과는 요약 컬럼을 0 또는 NULL
로 재설정하여 행을 삭제하는 것은 아닙니다.
다음 섹션에서는 특정 테이블을 사용하여 Performance Schema의 pre-filtering을 제어하는 방법을 설명합니다.
22.2.3.3.1 instrument
에 의한 pre-filtering
setup_instruments
테이블은 사용 가능한 instrument를 나열합니다.
mysql> SELECT * FROM setup_instruments;
+------------------------------------------------------------+---------+-------+
| NAME | ENABLED | TIMED |
+------------------------------------------------------------+---------+-------+
...
| wait/synch/mutex/sql/LOCK_global_read_lock | YES | YES |
| wait/synch/mutex/sql/LOCK_global_system_variables | YES | YES |
| wait/synch/mutex/sql/LOCK_lock_db | YES | YES |
| wait/synch/mutex/sql/LOCK_manager | YES | YES |
...
| wait/synch/rwlock/sql/LOCK_grant | YES | YES |
| wait/synch/rwlock/sql/LOGGER::LOCK_logger | YES | YES |
| wait/synch/rwlock/sql/LOCK_sys_init_connect | YES | YES |
| wait/synch/rwlock/sql/LOCK_sys_init_slave | YES | YES |
...
| wait/io/file/sql/binlog | YES | YES |
| wait/io/file/sql/binlog_index | YES | YES |
| wait/io/file/sql/casetest | YES | YES |
| wait/io/file/sql/dbopt | YES | YES |
...
instruments를 사용할지 여부를 제어하려면 그 ENABLED
열을 YES
또는 NO
로 설정합니다. 사용 된 instruments의 타이밍 정보를 수집할지 여부를 구성하려면 그 TIMED
값을 YES
또는 NO
로 설정합니다. TIMED
컬럼을 설정하면 섹션 22.2.3.1 "Performance Schema 이벤트 타이밍" 에 설명 된대로 Performance Schema 테이블의 내용에 영향을줍니다.
setup_instruments
테이블에 변경 사항은 즉시 모니터링에 영향을줍니다.
setup_instruments
테이블은 이벤트 생성의 가장 기본적인 제어 형식을 제공합니다. 모니터되는 오브젝트와 스레드의 종류에 따라 이벤트 생성을 더욱 좁힐 수있는 섹션 22.2.3.3 "이벤트 pre-filtering" 에 설명 된대로 다른 테이블을 사용할 수 있습니다.
다음 예제에서는 setup_instruments
테이블에 가능한 작업을 나타냅니다. 다른 pre-filtering 작업과 마찬가지로, 이러한 변화는 모든 사용자에게 영향을줍니다. 이러한 일부 쿼리는 LIKE
연산자와 패턴 매치 instruments 이름을 사용하고 있습니다. instruments를 선택하는 패턴의 지정에 대한 자세한 내용은 섹션 22.2.3.4 "필터링 작업 instruments 또는 consumer의 지정" 을 참조하십시오.
모든 instruments를 해제합니다.
mysql>
UPDATE setup_instruments SET ENABLED = 'NO';
이제 이벤트가 수집되지 않습니다.
모든 instruments를 해제하고이를 현재 비활성화되어있는 인스트르먼트 세트에 추가합니다.
mysql>
UPDATE setup_instruments SET ENABLED = 'NO'
->WHERE NAME LIKE 'wait/io/file/%';
파일 instruments만 해제하고 다른 모든 instruments를 사용합니다.
mysql>
UPDATE setup_instruments
->SET ENABLED = IF(NAME LIKE 'wait/io/file/%', 'NO', 'YES');
mysys
라이브러리의 instruments를 제외한 모든 instruments를 사용합니다.mysql>
UPDATE setup_instruments
->SET ENABLED = CASE WHEN NAME LIKE '%/mysys/%' THEN 'YES' ELSE 'NO' END;
특정 instruments를 해제합니다.
mysql>
UPDATE setup_instruments SET ENABLED = 'NO'
->WHERE NAME = 'wait/synch/mutex/mysys/TMPDIR_mutex';
instruments의 상태를 전환하려면 그
ENABLED
값을 '전환'합니다.mysql>
UPDATE setup_instruments
->SET ENABLED = IF(ENABLED = 'YES', 'NO', 'YES')
->WHERE NAME = 'wait/synch/mutex/mysys/TMPDIR_mutex';
모든 이벤트의 타이밍을 해제합니다.
mysql>
UPDATE setup_instruments SET TIMED = 'NO';
22.2.3.3.2 개체 의한 pre-filtering
setup_objects
테이블은 Performance Schema가 특정 테이블 개체를 모니터할지 여부를 제어합니다. 초기 setup_objects
의 내용은 다음과 같습니다.
mysql> SELECT * FROM setup_objects;
+-------------+--------------------+-------------+---------+-------+
| OBJECT_TYPE | OBJECT_SCHEMA | OBJECT_NAME | ENABLED | TIMED |
+-------------+--------------------+-------------+---------+-------+
| TABLE | mysql | % | NO | NO |
| TABLE | performance_schema | % | NO | NO |
| TABLE | information_schema | % | NO | NO |
| TABLE | % | % | YES | YES |
+-------------+--------------------+-------------+---------+-------+
setup_objects
테이블에 변경 사항은 즉시 개체 모니터링에 영향을줍니다.
OBJECT_TYPE
컬럼은 행이 적용되는 개체 유형을 나타냅니다. TABLE
필터링은 테이블 I / O 이벤트 ( wait/io/table/sql/handler
instruments) 및 테이블 잠금 이벤트 ( wait/lock/table/sql/handler
instruments)에 영향을줍니다.
OBJECT_SCHEMA
및 OBJECT_NAME
열에는 리터럴의 스키마 또는 테이블 이름 또는 이름과 일치하는 '%'
가 포함되어 있어야합니다.
ENABLED
컬럼은 일치하는 개체가 모니터되고 있는지를 보여주고 TIMED
은 타이밍 정보를 수집할지 여부를 나타냅니다.
기본 객체 구성의 효과는 mysql
, INFORMATION_SCHEMA
및 performance_schema
데이터베이스의 테이블을 제외한 모든 테이블을 인스트르먼트하는 것입니다. ( INFORMATION_SCHEMA
데이터베이스의 테이블은 setup_objects
의 내용에 관계없이 instruments되지 않고 information_schema.%
줄은 단순히이 기본을 명시합니다.)
Performance Schema는 setup_objects
의 일치를 확인하려면 먼저보다 상세한 일치를 찾으려고합니다. 예를 들어, 테이블 db1.t1
에서는 'db1'
과 't1'
다음 'db1'
와 '%'
다음 '%'
와 '%'
의 일치를 검색합니다. 다양한 일치하는 setup_objects
행은 다양한 ENABLED
값과 TIMED
값을 가질 수 있기 때문에 일치가 발생하는 순서가 중요합니다.
테이블 관련 이벤트의 경우, Performance Schema는 setup_objects
의 내용과 setup_instruments
을 결합하여 instruments를 사용할지 여부 및 활성화되어있는 인스트르먼트의 시간을 측정할지 여부를 결정합니다.
setup_objects
의 행에 일치하는 테이블은 테이블 instruments는setup_instruments
과setup_objects
모두에서ENABLED
이YES
인 경우에만 이벤트를 생성합니다.두 값이
YES
의 경우에만 타이밍 정보가 수집되도록 두 테이블의TIMED
값이 결합됩니다.
setup_objects
에는 db1
, db2
및 db3
에 적용되는 다음 줄이 포함된다고합니다.
+-------------+---------------+-------------+---------+-------+ | OBJECT_TYPE | OBJECT_SCHEMA | OBJECT_NAME | ENABLED | TIMED | +-------------+---------------+-------------+---------+-------+ | TABLE | db1 | t1 | YES | YES | | TABLE | db1 | t2 | NO | NO | | TABLE | db2 | % | YES | YES | | TABLE | db3 | % | NO | NO | | TABLE | % | % | YES | YES | +-------------+---------------+-------------+---------+-------+
setup_instruments
테이블 관련 instruments에 NO
의 ENABLED
값이있는 경우, 객체의 이벤트는 모니터되지 않습니다. ENABLED
값이 YES
이면 이벤트 모니터링 관련 setup_objects
행의 ENABLED
값에 따라 이루어집니다.
db1.t1
이벤트는 모니터됩니다db1.t2
이벤트는 모니터되지 않습니다db2.t3
이벤트는 모니터됩니다db3.t4
이벤트는 모니터되지 않습니다db4.t5
이벤트는 모니터됩니다
setup_instruments
및 setup_objects
테이블의 TIMED
컬럼을 조합하여 이벤트 타이밍 정보를 수집할지 여부를 결정하는 경우에도 같은 논리가 적용됩니다.
영구 테이블과 임시 테이블이 같은 이름을 가지는 경우, setup_objects
행의 조합이 모두에 대해 동일하게 이루어집니다. 한 테이블의 모니터링을 활성화하고 다른 쪽을 사용하지 않을 수 없습니다. 그러나 각 테이블은 개별 instruments됩니다.
ENABLED
컬럼은 MySQL 5.6.3에서 추가되었습니다. ENABLED
열이없는 초기 버전에서는 setup_objects
은 테이블의 일부 행에 일치하는 객체의 모니터링을 활성화하는 데에만 사용됩니다. 테이블에 의한 계측을 명시 적으로 해제하는 방법은 없습니다.
22.2.3.3.3 스레드에 의한 pre-filtering
threads
테이블은 각 서버 스레드의 행을 포함합니다. 각 행은 스레드에 대한 정보를 저장하고 이에 대한 모니터링이 활성화되어 있는지 여부를 나타냅니다. 스레드를 모니터 Performance Schema의 경우 이러한 것이 적용해야합니다.
setup_consumers
테이블의thread_instrumentation
consumer는YES
이어야합니다.thread.INSTRUMENTED
컬럼은YES
이어야합니다.setup_instruments
테이블에서 사용되는 instruments에서 생성 된 스레드 이벤트에 대해서만 모니터링이 이루어집니다.
threads
테이블 INSTRUMENTED
컬럼은 각 스레드의 모니터링 상태를 나타냅니다. 포 그라운드 스레드 (클라이언트 연결의 결과)는 초기 INSTRUMENTED
값은 스레드에 연결된 사용자 계정이 setup_actors
테이블 중 하나의 행에 일치하는 여부에 따라 결정됩니다. 백그라운드 스레드의 경우 INSTRUMENTED
은 기본적으로 YES
백그라운드 스레드에 연결된 사용자는 않기 때문에 setup_actors
는 참조되지 않습니다. 어느 thread에서도 스레드의 유효 기간 동안 그 INSTRUMENTED
값이 변경 될 수 있습니다.
초기 setup_actors
의 내용은 다음과 같습니다.
mysql> SELECT * FROM setup_actors;
+------+------+------+
| HOST | USER | ROLE |
+------+------+------+
| % | % | % |
+------+------+------+
Performance Schema는 HOST
및 USER
컬럼을 사용하여 새로운 각 포 그라운드 스레드와 일치합니다. ( ROLE
는 사용되지 않습니다.) 중 하나의 행이 일치하는 경우 스레드 INSTRUMENTED
값은 YES
입니다, 그렇지 않으면 NO
입니다. 이렇게하면 호스트, 사용자 또는 호스트와 사용자 조합에 대해 instruments가 선택하여 적용됩니다.
HOST
및 USER
컬럼은 리터럴 호스트 또는 아이디 또는 임의의 이름과 일치하는 '%'
가 포함되어 있어야합니다. setup_actors
테이블에는 먼저 HOST
와 USER
모두에 '%'
를 포함한 행이 저장되기 때문에 기본적으로 모니터링은 모든 새로운 포 그라운드 스레드에 활성화됩니다. 일부 전경 스레드에만 모니터링을 활성화하는 등 제한된 조합을 실행하려면이 행은 하나의 연결에 일치하기 때문에이를 제거해야합니다.
다음과 같이 setup_actors
을 변경합니다.
TRUNCATE TABLE setup_actors;
현재 setup_actors
는 비어 있기 때문에 들어오는 연결에 일치 할 가능성이있는 행은 없습니다. 따라서 Performance Schema는 새로운 모든 전경 스레드의 INSTRUMENTED
컬럼을 NO
로 설정합니다.
또한 setup_actors
을 변경합니다.
INSERT INTO setup_actors (HOST,USER,ROLE) VALUES('localhost','joe','%'); INSERT INTO setup_actors (HOST,USER,ROLE) VALUES('%','sam','%');
여기에서 Performance Schema는 다음과 같이 새로운 연결 스레드 INSTRUMENTED
값 설정 방법을 결정합니다.
joe
가 로컬 호스트에서 연결하면 연결은 처음에 삽입 된 행과 일치합니다.joe
가 다른 모든 호스트에서 연결하는 경우 일치하지 않습니다.sam
가 모든 호스트로부터 연결하면 연결은 두 번째에 삽입 된 행과 일치합니다.다른 모든 연결의 경우 일치하지 않습니다.
setup_actors
테이블에 대한 변경은 기존의 스레드에 영향을주지 않습니다.
22.2.3.3.4 consumer에 의한 pre-filtering
setup_consumers
테이블은 사용 가능한 consumer의 유형과 어느 것이 활성화되어 있는지를 표시합니다.
mysql> SELECT * FROM setup_consumers;
+--------------------------------+---------+
| NAME | ENABLED |
+--------------------------------+---------+
| events_stages_current | NO |
| events_stages_history | NO |
| events_stages_history_long | NO |
| events_statements_current | YES |
| events_statements_history | NO |
| events_statements_history_long | NO |
| events_waits_current | NO |
| events_waits_history | NO |
| events_waits_history_long | NO |
| global_instrumentation | YES |
| thread_instrumentation | YES |
| statements_digest | YES |
+--------------------------------+---------+
consumer 스테이지에서 pre-filtering에 영향하도록 setup_consumers
테이블을 변경하고 이벤트의 대상을 결정합니다. consumer를 활성화 또는 비활성화하려면 그 ENABLED
값을 YES
또는 NO
로 설정합니다.
setup_consumers
테이블에 변경 사항은 즉시 모니터링에 영향을줍니다.
consumer를 비활성화하면 서버는 consumer 대상의 유지 보수에 시간을 소비하지 않습니다. 예를 들어, 이력 이벤트 정보에 관심이없는 경우 이력 consumer를 해제합니다.
mysql>UPDATE setup_consumers
->SET ENABLED = 'NO' WHERE NAME LIKE '%history%';
setup_consumers
테이블의 consumer 설정은 높은 수준에서 낮은 수준까지의 계층을 형성합니다. 다음과 같은 원칙이 적용됩니다.
Performance Schema가 consumer를 체크하고 consumer가 활성화되어 있지 않은 한, consumer에 연관된 대상은 이벤트를 수신하지 않습니다.
consumer는 그것이 의존하는 모든 consumer (있는 경우)가 활성화 된 경우에만 체크됩니다.
consumer가 체크되어 있지 않거나 체크되어 있지만 비활성화되어있는 경우 그에 의존 할 수밖에 consumer는 확인하지 않습니다.
따라 consumer는 스스로 종속 consumer가있을 수 있습니다.
이벤트가 어떤 대상에 전송되지 않은 경우, Performance Schema는 그것을 생성하지 않습니다.
다음 목록에 사용 가능한 consumer 값을 설명합니다. 몇 가지 대표적인 consumer 구성과 그 계측에 대한 효과에 대해서는 섹션 22.2.3.3.5 "consumer 구성의 예" 를 참조하십시오.
Global and Thread Consumers
global_instrumentation
최고 수준의 consumer입니다.global_instrumentation
이NO
의 경우 그것은 글로벌 계측을 해제합니다. 다른 모든 설정은 낮은 수준에서 확인되지 않고 무엇이 설정되어 있는지는 중요하지 않습니다. 글로벌 또는 스레드마다 정보가 유지되지 않고 개별 이벤트가 현재 이벤트 또는 이벤트 기록 테이블에 수집되지 않습니다.global_instrumentation
이YES
의 경우 Performance Schema는 글로벌 상태 정보를 유지 보수하고thread_instrumentation
consumer도 확인합니다.thread_instrumentation
는global_instrumentation
이YES
의 경우에만 체크됩니다. 그렇지 않으면thread_instrumentation
이NO
의 경우, thread 고유의 계측이 해제되고 모든 낮은 레벨 설정이 무시됩니다. 스레드마다 정보가 유지되지 않고 개별 이벤트가 현재 이벤트 또는 이벤트 기록 테이블에 수집되지 않습니다.thread_instrumentation
이YES
의 경우 Performance Schema는 thread 고유의 정보를 유지하고events_
consumer도 확인합니다.xxx
_current
Statements digest consumer
이 consumer는 global_instrumentation
가 YES
이어야하며 그렇지 않으면 그것은 확인하지 않습니다. 문 이벤트 consumer에 대한 종속성이 없기 때문에 events_statements_current
통계를 수집 할 필요없이 다이제스트마다 통계를 얻을 수 있으며, 이것은 오버 헤드 측면에서 유리합니다. 반대로, 다이제스트없이 events_statements_current
에서 자세한 문을 얻을 수 있습니다 ( DIGEST
및 DIGEST_TEXT
컬럼은 NULL
이됩니다).
Wait Event Consumers
이러한 consumer는 global_instrumentation
과 thread_instrumentation
모두가 YES
이어야하며 그렇지 않으면 그들은 확인하지 않습니다. 체크 된 경우, 그들은 다음과 같이 작동합니다.
events_waits_current
는NO
의 경우events_waits_current
테이블의 개별 대기 이벤트의 수집을 비활성화합니다.YES
의 경우 대기 이벤트 수집을 활성화하고 Performance Schema는events_waits_history
및events_waits_history_long
consumer를 체크합니다.events_waits_history
는event_waits_current
이NO
의 경우에 체크되지 않습니다. 그렇지 않으면NO
또는YES
의events_waits_history
값은events_waits_history
테이블에 대기 이벤트의 수집을 활성화 또는 비활성화합니다.events_waits_history_long
는event_waits_current
이NO
의 경우에 체크되지 않습니다. 그렇지 않으면NO
또는YES
의events_waits_history_long
값은events_waits_history_long
테이블에 대기 이벤트의 수집을 활성화 또는 비활성화합니다.
Stage Event Consumers
이러한 consumer는 global_instrumentation
과 thread_instrumentation
모두가 YES
이어야하며 그렇지 않으면 그들은 확인하지 않습니다. 체크 된 경우, 그들은 다음과 같이 작동합니다.
events_stages_current
는NO
의 경우events_stages_current
테이블에 각 스테이지 이벤트의 수집을 비활성화합니다.YES
의 경우 스테이지 이벤트 수집을 활성화하고 Performance Schema는events_stages_history
및events_stages_history_long
consumer를 체크합니다.events_stages_history
는event_stages_current
이NO
의 경우에 체크되지 않습니다. 그렇지 않으면NO
또는YES
의events_stages_history
값은events_stages_history
테이블에 스테이지 이벤트의 수집을 활성화 또는 비활성화합니다.events_stages_history_long
는event_stages_current
이NO
의 경우에 체크되지 않습니다. 그렇지 않으면NO
또는YES
의events_stages_history_long
값은events_stages_history_long
테이블에 스테이지 이벤트의 수집을 활성화 또는 비활성화합니다.
Statement Event Consumers
이러한 consumer는 global_instrumentation
과 thread_instrumentation
모두가 YES
이어야하며 그렇지 않으면 그들은 확인하지 않습니다. 체크 된 경우, 그들은 다음과 같이 작동합니다.
events_statements_current
는NO
의 경우events_statements_current
테이블에 개별 문 이벤트의 수집을 비활성화합니다.YES
의 경우 문 이벤트 수집을 활성화하고 Performance Schema는events_statements_history
및events_statements_history_long
consumer를 체크합니다.events_statements_history
는events_statements_current
이NO
의 경우에 체크되지 않습니다. 그렇지 않으면NO
또는YES
의events_statements_history
값은events_statements_history
테이블에 문 이벤트의 수집을 활성화 또는 비활성화합니다.events_statements_history_long
는events_statements_current
이NO
의 경우에 체크되지 않습니다. 그렇지 않으면NO
또는YES
의events_statements_history_long
값은events_statements_history_long
테이블에 문 이벤트의 수집을 활성화 또는 비활성화합니다.
22.2.3.3.5 consumer 구성의 예
setup_consumers
테이블의 consumer 설정은 높은 수준에서 낮은 수준까지의 계층을 형성합니다. 다음의 설명에서는 consumer의 구조를 설명하고 consumer 설정으로서의 효과는 높은 곳에서 낮은 곳으로 점진적 단계에 사용되었을 때 특정 구성과 그 효과를 나타냅니다. 표시된 consumer 값은 대표적인 것입니다. 여기에서 설명하는 일반적 원칙은 사용 가능한 다른 consumer 값에 적용됩니다.
구성의 설명은 기능과 오버 헤드가 증가하는 순서로 보여줍니다. 낮은 수준의 설정을 사용하여 제공되는 정보가 필요하지 않은 경우이를 해제하면 Performance Schema가 사용자를 위해 실행하는 코드가 적어지고, 사용자가 취사 선택하는 정보가 적습니다.
setup_consumers
테이블에는 다음의 값의 계층이 포함됩니다.
global_instrumentation thread_instrumentation events_waits_current events_waits_history events_waits_history_long events_stages_current events_stages_history events_stages_history_long events_statements_current events_statements_history events_statements_history_long statements_digest
consumer 계층에서 대기 무대 및 문의 consumer는 동일한 수준입니다. 이것은 대기 이벤트 무대 이벤트에 중첩 무대 이벤트가 문 이벤트에 중첩하는 이벤트 중첩 계층과는 다릅니다.
특정 사용자 설정이 NO
의 경우 Performance Schema는 consumer와 관련된 계측을 해제하고 모든 낮은 레벨의 설정을 무시합니다. 특정 설정이 YES
의 경우 Performance Schema는 그것과 관련된 계측을 활성화하고 다음의 최저 수준 설정을 확인합니다. 각 consumer의 규칙에 대한 설명은 섹션 22.2.3.3.4 "consumer에 의한 pre-filtering" 을 참조하십시오.
예를 들어, global_instrumentation
이 활성화되어있는 경우 thread_instrumentation
가 확인됩니다. thread_instrumentation
이 활성화되어있는 경우 events_
consumer가 확인됩니다. 이들 중 xxx
_currentevents_waits_current
이 활성화되어있는 경우 events_waits_history
및 events_waits_history_long
가 확인됩니다.
다음 구성의 각 설명은 Performance Schema를 검사 설정 요소와 그것이 유지하는 출력 테이블 (즉, 그것이 정보를 수집하는 테이블)를 보여줍니다.
No Instrumentation
서버 구성 상태 :
mysql> SELECT * FROM setup_consumers;
+---------------------------+---------+
| NAME | ENABLED |
+---------------------------+---------+
| global_instrumentation | NO |
...
+---------------------------+---------+
이 구성에서는 아무것도 instruments되지 않습니다.
체크되는 설치 요소 :
테이블
setup_consumers
consumerglobal_instrumentation
유지되는 출력 테이블 :
없음
Global Instrumentation Only
서버 구성 상태 :
mysql> SELECT * FROM setup_consumers;
+---------------------------+---------+
| NAME | ENABLED |
+---------------------------+---------+
| global_instrumentation | YES |
| thread_instrumentation | NO |
...
+---------------------------+---------+
이 구성에서는 계측이 글로벌 상태에서만 유지됩니다. 스레드 당 계측은 비활성화됩니다.
전술 한 구성에 관련하여 확인 된 추가 설치 요소 :
테이블
setup_consumers
consumerthread_instrumentation
테이블
setup_instruments
테이블
setup_objects
테이블
setup_timers
전술 한 구성과 관련하여 보수하는 추가 출력 테이블 :
mutex_instances
rwlock_instances
cond_instances
file_instances
users
hosts
accounts
socket_summary_by_event_name
file_summary_by_instance
file_summary_by_event_name
objects_summary_global_by_type
table_lock_waits_summary_by_table
table_io_waits_summary_by_index_usage
table_io_waits_summary_by_table
events_waits_summary_by_instance
events_waits_summary_global_by_event_name
events_stages_summary_global_by_event_name
events_statements_summary_global_by_event_name
Global and Thread Instrumentation Only
서버 구성 상태 :
mysql> SELECT * FROM setup_consumers;
+--------------------------------+---------+
| NAME | ENABLED |
+--------------------------------+---------+
| global_instrumentation | YES |
| thread_instrumentation | YES |
| events_waits_current | NO |
...
| events_stages_current | NO |
...
| events_statements_current | YES |
...
+--------------------------------+---------+
이 구성에서는 계측이 글로벌 및 스레드마다 유지됩니다. 현재 이벤트 또는 이벤트 기록 테이블에서 개별 이벤트는 수집하지 않습니다.
전술 한 구성에 관련하여 확인 된 추가 설치 요소 :
테이블
setup_consumers
consumerevents_
. 여기서xxx
_currentxxx
는waits
,stages
,statements
입니다테이블
setup_actors
컬럼
threads.instrumented
전술 한 구성과 관련하여 보수하는 추가 출력 테이블 :
events_
. 여기서xxx
_summary_by_yyy
_by_event_namexxx
는waits
,stages
,statements
에서와yyy
는thread
,user
,host
,account
입니다
Global, Thread, and Current-Event Instrumentation
서버 구성 상태 :
mysql> SELECT * FROM setup_consumers;
+--------------------------------+---------+
| NAME | ENABLED |
+--------------------------------+---------+
| global_instrumentation | YES |
| thread_instrumentation | YES |
| events_waits_current | YES |
| events_waits_history | NO |
| events_waits_history_long | NO |
| events_stages_current | YES |
| events_stages_history | NO |
| events_stages_history_long | NO |
| events_statements_current | YES |
| events_statements_history | NO |
| events_statements_history_long | NO |
...
+--------------------------------+---------+
이 구성에서는 계측이 글로벌 및 스레드마다 유지됩니다. 개별 이벤트가 현재 이벤트 테이블에 수집됩니다 만, 이벤트 기록 테이블에는 수집하지 않습니다.
전술 한 구성에 관련하여 확인 된 추가 설치 요소 :
consumer
events_
. 여기서xxx
_historyxxx
는waits
,stages
,statements
입니다consumer
events_
. 여기서xxx
_history_longxxx
는waits
,stages
,statements
입니다
전술 한 구성과 관련하여 보수하는 추가 출력 테이블 :
events_
. 여기서xxx
_currentxxx
는waits
,stages
,statements
입니다
Global, Thread, Current-Event, and Event-History instrumentation
events_
및 xxx
_historyevents_
consumer는 비활성화되어 있기 때문에 전술 한 구성은 이벤트 기록을 수집하지 않습니다. 그 consumer는 개별적으로 또는 함께 사용하여 스레드마다 세계적으로 또는 둘 다에서 이벤트 기록을 수집 할 수 있습니다. xxx
_history_long
이 구성은 스레드마다 이벤트를 수집하지만 글로벌은 수집하지 않습니다.
mysql> SELECT * FROM setup_consumers;
+--------------------------------+---------+
| NAME | ENABLED |
+--------------------------------+---------+
| global_instrumentation | YES |
| thread_instrumentation | YES |
| events_waits_current | YES |
| events_waits_history | YES |
| events_waits_history_long | NO |
| events_stages_current | YES |
| events_stages_history | YES |
| events_stages_history_long | NO |
| events_statements_current | YES |
| events_statements_history | YES |
| events_statements_history_long | NO |
...
+--------------------------------+---------+
이 구성에서 관리되는 이벤트 기록 테이블 :
events_
. 여기서xxx
_historyxxx
는waits
,stages
,statements
입니다
이 구성은 글로벌 이벤트 기록을 수집하지만 각 스레드는 수집하지 않습니다.
mysql> SELECT * FROM setup_consumers;
+--------------------------------+---------+
| NAME | ENABLED |
+--------------------------------+---------+
| global_instrumentation | YES |
| thread_instrumentation | YES |
| events_waits_current | YES |
| events_waits_history | NO |
| events_waits_history_long | YES |
| events_stages_current | YES |
| events_stages_history | NO |
| events_stages_history_long | YES |
| events_statements_current | YES |
| events_statements_history | NO |
| events_statements_history_long | YES |
...
+--------------------------------+---------+
이 구성에서 관리되는 이벤트 기록 테이블 :
events_
. 여기서xxx
_history_longxxx
는waits
,stages
,statements
입니다
이 구성은 각 스레드 및 글로벌 이벤트를 수집합니다.
mysql> SELECT * FROM setup_consumers;
+--------------------------------+---------+
| NAME | ENABLED |
+--------------------------------+---------+
| global_instrumentation | YES |
| thread_instrumentation | YES |
| events_waits_current | YES |
| events_waits_history | YES |
| events_waits_history_long | YES |
| events_stages_current | YES |
| events_stages_history | YES |
| events_stages_history_long | YES |
| events_statements_current | YES |
| events_statements_history | YES |
| events_statements_history_long | YES |
...
+--------------------------------+---------+
이 구성에서 관리되는 이벤트 기록 테이블 :
events_
. 여기서xxx
_historyxxx
는waits
,stages
,statements
입니다events_
. 여기서xxx
_history_longxxx
는waits
,stages
,statements
입니다