Loading...
MySQL 9.5 Reference Manual 9.5의 29.4.8 Example Consumer Configurations의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
setup_consumers 테이블의 consumer 설정은 상위 레벨에서 하위 레벨로 내려가는 계층 구조를 형성합니다. 다음 설명에서는 consumer가 어떻게 동작하는지, 구체적인 구성을 보여 주고, 상위에서 하위로 consumer 설정을 점진적으로 활성화함에 따라 그 효과가 어떻게 되는지 설명합니다. 표시된 consumer 값은 대표적인 예입니다. 여기에서 설명하는 일반적인 원리는 사용할 수 있는 다른 consumer 값에도 적용됩니다.
구성 설명은 기능과 오버헤드가 증가하는 순서로 나열됩니다. 더 낮은 수준의 설정을 활성화해서 제공되는 정보가 필요하지 않다면, 이를 비활성화하여 Performance Schema가 사용자를 대신해 실행하는 코드의 양을 줄이고, 분석해야 할 정보의 양도 줄이십시오.
setup_consumers 테이블은 다음과 같은 값의 계층을 포함합니다:
1global_instrumentation 2 thread_instrumentation 3 events_waits_current 4 events_waits_history 5 events_waits_history_long 6 events_stages_current 7 events_stages_history 8 events_stages_history_long 9 events_statements_current 10 events_statements_history 11 events_statements_history_long 12 events_transactions_current 13 events_transactions_history 14 events_transactions_history_long 15 statements_digest
참고
consumer 계층에서 waits, stages, statements, transactions 용 consumer는 모두 동일한 레벨에 있습니다. 이는 event 중첩 계층과는 다릅니다. event 중첩 계층에서는 wait event가 stage event 안에 중첩되고, stage event는 statement event 안에 중첩되며, statement event는 transaction event 안에 중첩됩니다.
어떤 consumer 설정이 NO이면, Performance Schema는 그 consumer와 연관된 계측을 비활성화하고, 모든 하위 레벨 설정들을 무시합니다. 어떤 설정이 YES이면, Performance Schema는 그것과 연관된 계측을 활성화하고 바로 아래 레벨의 설정을 확인합니다. 각 consumer에 대한 규칙 설명은 Section 29.4.7, “Pre-Filtering by Consumer”를 참조하십시오.
예를 들어, global_instrumentation이 활성화되어 있으면, thread_instrumentation이 확인됩니다. thread_instrumentation이 활성화되어 있으면 events_xxx_current consumer가 확인됩니다. 이 중 events_waits_current가 활성화되어 있으면, events_waits_history와 events_waits_history_long이 확인됩니다.
다음의 각 구성 설명에서는 Performance Schema가 어떤 setup 요소를 확인하고, 어떤 output 테이블을 유지(즉, 어떤 테이블에 대해 정보를 수집하는지)하는지 나타냅니다.
Server 구성 상태:
1mysql> SELECT * FROM performance_schema.setup_consumers; 2+---------------------------+---------+ 3| NAME | ENABLED | 4+---------------------------+---------+ 5| global_instrumentation | NO | 6... 7+---------------------------+---------+
이 구성에서는 아무것도 계측되지 않습니다.
확인되는 setup 요소:
setup_consumers, consumer global_instrumentation유지되는 output 테이블:
Server 구성 상태:
1mysql> SELECT * FROM performance_schema.setup_consumers; 2+---------------------------+---------+ 3| NAME | ENABLED | 4+---------------------------+---------+ 5| global_instrumentation | YES | 6| thread_instrumentation | NO | 7... 8+---------------------------+---------+
이 구성에서는 글로벌 상태에 대해서만 계측이 유지됩니다. 스레드 단위 계측은 비활성화됩니다.
이전 구성에 비해 추가로 확인되는 setup 요소:
테이블 setup_consumers, consumer thread_instrumentation
테이블 setup_objects
이전 구성에 비해 추가로 유지되는 output 테이블:
Server 구성 상태:
1mysql> SELECT * FROM performance_schema.setup_consumers; 2+----------------------------------+---------+ 3| NAME | ENABLED | 4+----------------------------------+---------+ 5| global_instrumentation | YES | 6| thread_instrumentation | YES | 7| events_waits_current | NO | 8... 9| events_stages_current | NO | 10... 11| events_statements_current | NO | 12... 13| events_transactions_current | NO | 14... 15+----------------------------------+---------+
이 구성에서는 계측이 글로벌 및 스레드 단위로 유지됩니다. current-events 테이블이나 event-history 테이블에는 개별 이벤트가 수집되지 않습니다.
이전 구성에 비해 추가로 확인되는 setup 요소:
테이블 setup_consumers, consumers events_xxx_current (여기서 xxx 는 waits, stages, statements, transactions)
테이블 setup_actors
컬럼 threads.instrumented
이전 구성에 비해 추가로 유지되는 output 테이블:
events_xxx_summary_by_yyy_by_event_name (여기서 xxx 는 waits, stages, statements, transactions이고, yyy 는 thread, user, host, account)Server 구성 상태:
1mysql> SELECT * FROM performance_schema.setup_consumers; 2+----------------------------------+---------+ 3| NAME | ENABLED | 4+----------------------------------+---------+ 5| global_instrumentation | YES | 6| thread_instrumentation | YES | 7| events_waits_current | YES | 8| events_waits_history | NO | 9| events_waits_history_long | NO | 10| events_stages_current | YES | 11| events_stages_history | NO | 12| events_stages_history_long | NO | 13| events_statements_current | YES | 14| events_statements_history | NO | 15| events_statements_history_long | NO | 16| events_transactions_current | YES | 17| events_transactions_history | NO | 18| events_transactions_history_long | NO | 19... 20+----------------------------------+---------+
이 구성에서는 계측이 글로벌 및 스레드 단위로 유지됩니다. current-events 테이블에는 개별 이벤트가 수집되지만, event-history 테이블에는 수집되지 않습니다.
이전 구성에 비해 추가로 확인되는 setup 요소:
Consumers events_xxx_history (여기서 xxx 는 waits, stages, statements, transactions)
Consumers events_xxx_history_long (여기서 xxx 는 waits, stages, statements, transactions)
이전 구성에 비해 추가로 유지되는 output 테이블:
events_xxx_current (여기서 xxx 는 waits, stages, statements, transactions)앞의 구성은 events_xxx_history와 events_xxx_history_long consumer가 비활성화되어 있기 때문에 event history를 수집하지 않습니다. 이러한 consumer는 스레드 단위, 글로벌 단위, 또는 둘 다에 대해 event history를 수집하도록 각각 또는 함께 활성화할 수 있습니다.
다음 구성은 스레드 단위 event history를 수집하지만, 글로벌 단위로는 수집하지 않습니다:
1mysql> SELECT * FROM performance_schema.setup_consumers; 2+----------------------------------+---------+ 3| NAME | ENABLED | 4+----------------------------------+---------+ 5| global_instrumentation | YES | 6| thread_instrumentation | YES | 7| events_waits_current | YES | 8| events_waits_history | YES | 9| events_waits_history_long | NO | 10| events_stages_current | YES | 11| events_stages_history | YES | 12| events_stages_history_long | NO | 13| events_statements_current | YES | 14| events_statements_history | YES | 15| events_statements_history_long | NO | 16| events_transactions_current | YES | 17| events_transactions_history | YES | 18| events_transactions_history_long | NO | 19... 20+----------------------------------+---------+
이 구성에서 유지되는 event-history 테이블:
events_xxx_history (여기서 xxx 는 waits, stages, statements, transactions)다음 구성은 글로벌 단위 event history를 수집하지만, 스레드 단위로는 수집하지 않습니다:
1mysql> SELECT * FROM performance_schema.setup_consumers; 2+----------------------------------+---------+ 3| NAME | ENABLED | 4+----------------------------------+---------+ 5| global_instrumentation | YES | 6| thread_instrumentation | YES | 7| events_waits_current | YES | 8| events_waits_history | NO | 9| events_waits_history_long | YES | 10| events_stages_current | YES | 11| events_stages_history | NO | 12| events_stages_history_long | YES | 13| events_statements_current | YES | 14| events_statements_history | NO | 15| events_statements_history_long | YES | 16| events_transactions_current | YES | 17| events_transactions_history | NO | 18| events_transactions_history_long | YES | 19... 20+----------------------------------+---------+
이 구성에서 유지되는 event-history 테이블:
events_xxx_history_long (여기서 xxx 는 waits, stages, statements, transactions)다음 구성은 스레드 단위와 글로벌 단위 모두에 대해 event history를 수집합니다:
1mysql> SELECT * FROM performance_schema.setup_consumers; 2+----------------------------------+---------+ 3| NAME | ENABLED | 4+----------------------------------+---------+ 5| global_instrumentation | YES | 6| thread_instrumentation | YES | 7| events_waits_current | YES | 8| events_waits_history | YES | 9| events_waits_history_long | YES | 10| events_stages_current | YES | 11| events_stages_history | YES | 12| events_stages_history_long | YES | 13| events_statements_current | YES | 14| events_statements_history | YES | 15| events_statements_history_long | YES | 16| events_transactions_current | YES | 17| events_transactions_history | YES | 18| events_transactions_history_long | YES | 19... 20+----------------------------------+---------+
이 구성에서 유지되는 event-history 테이블:
events_xxx_history (여기서 xxx 는 waits, stages, statements, transactions)
events_xxx_history_long (여기서 xxx 는 waits, stages, statements, transactions)
29.4.7 Pre-Filtering by Consumer
29.4.9 Naming Instruments or Consumers for Filtering Operations