Loading...
MySQL 9.5 Reference Manual 9.5의 17.16 InnoDB Integration with MySQL Performance Schema의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
17.16.1 Monitoring ALTER TABLE Progress for InnoDB Tables Using Performance Schema 17.16.2 Monitoring InnoDB Mutex Waits Using Performance Schema
이 섹션은 Performance Schema 와의 InnoDB 통합에 대한 간단한 소개를 제공합니다. Performance Schema 에 대한 포괄적인 문서는
Chapter 29, MySQL Performance Schema를 참조하십시오.
MySQL Performance Schema feature를 사용하여 특정 내부 InnoDB 작업을 프로파일링할 수 있습니다. 이러한 유형의 튜닝은 주로 성능 병목 현상을 극복하기 위한 최적화 전략을 평가하는 전문가 사용자를 위한 것입니다. DBA 역시 용량 계획을 위해 이 기능을 사용할 수 있습니다.
예를 들어 일반적인 워크로드가 특정 CPU, RAM, 디스크 스토리지 조합에서 성능 병목 현상에 직면하는지 여부를 확인하고, 그렇다면 시스템의 일부 용량을 늘려 성능을 개선할 수 있는지 판단할 수 있습니다.
이 기능을 사용하여 InnoDB 성능을 검사하려면:
Performance Schema feature 사용 방법에 대해 전반적으로 익숙해야 합니다. 예를 들어 인스트루먼트와 컨슈머를 활성화하는 방법, 데이터를 검색하기 위해
performance_schema 테이블을 쿼리하는 방법 등을 알고 있어야 합니다. 소개 개요는
Section 29.1, “Performance Schema Quick Start”를 참조하십시오.
InnoDB 에 사용 가능한 Performance Schema 인스트루먼트에 익숙해야 합니다. InnoDB 관련 인스트루먼트를 확인하려면
setup_instruments 테이블에서 이름에 'innodb'가 포함된 인스트루먼트 이름을 쿼리하면 됩니다.
1mysql> SELECT * 2 FROM performance_schema.setup_instruments 3 WHERE NAME LIKE '%innodb%'; 4+-------------------------------------------------------+---------+-------+ 5| NAME | ENABLED | TIMED | 6+-------------------------------------------------------+---------+-------+ 7| wait/synch/mutex/innodb/commit_cond_mutex | NO | NO | 8| wait/synch/mutex/innodb/innobase_share_mutex | NO | NO | 9| wait/synch/mutex/innodb/autoinc_mutex | NO | NO | 10| wait/synch/mutex/innodb/buf_pool_mutex | NO | NO | 11| wait/synch/mutex/innodb/buf_pool_zip_mutex | NO | NO | 12| wait/synch/mutex/innodb/cache_last_read_mutex | NO | NO | 13| wait/synch/mutex/innodb/dict_foreign_err_mutex | NO | NO | 14| wait/synch/mutex/innodb/dict_sys_mutex | NO | NO | 15| wait/synch/mutex/innodb/recalc_pool_mutex | NO | NO | 16... 17| wait/io/file/innodb/innodb_data_file | YES | YES | 18| wait/io/file/innodb/innodb_log_file | YES | YES | 19| wait/io/file/innodb/innodb_temp_file | YES | YES | 20| stage/innodb/alter table (end) | YES | YES | 21| stage/innodb/alter table (flush) | YES | YES | 22| stage/innodb/alter table (insert) | YES | YES | 23| stage/innodb/alter table (log apply index) | YES | YES | 24| stage/innodb/alter table (log apply table) | YES | YES | 25| stage/innodb/alter table (merge sort) | YES | YES | 26| stage/innodb/alter table (read PK and internal sort) | YES | YES | 27| stage/innodb/buffer pool load | YES | YES | 28| memory/innodb/buf_buf_pool | NO | NO | 29| memory/innodb/dict_stats_bg_recalc_pool_t | NO | NO | 30| memory/innodb/dict_stats_index_map_t | NO | NO | 31| memory/innodb/dict_stats_n_diff_on_level | NO | NO | 32| memory/innodb/other | NO | NO | 33| memory/innodb/row_log_buf | NO | NO | 34| memory/innodb/row_merge_sort | NO | NO | 35| memory/innodb/std | NO | NO | 36| memory/innodb/sync_debug_latches | NO | NO | 37| memory/innodb/trx_sys_t::rw_trx_ids | NO | NO | 38... 39+-------------------------------------------------------+---------+-------+ 40155 rows in set (0.00 sec)
인스트루먼트가 적용된 InnoDB 객체에 대한 추가 정보는 Performance Schema instances tables를 쿼리하여 얻을 수 있습니다. 이 테이블들은 인스트루먼트가 적용된 객체에 대한 추가 정보를 제공합니다. InnoDB 와 관련된 인스턴스 테이블은 다음과 같습니다:
mutex_instances 테이블
rwlock_instances 테이블
cond_instances 테이블
file_instances 테이블
참고
InnoDB 버퍼 풀과 관련된 뮤텍스와 RW-lock 은 이 범위에 포함되지 않습니다. SHOW ENGINE INNODB MUTEX 구문의 출력에도 동일하게 적용됩니다.
예를 들어, Performance Schema 가 파일 I/O 인스트루먼테이션을 실행할 때 관찰되는 인스트루먼트가 적용된 InnoDB 파일 객체에 대한 정보를 보려면 다음과 같은 쿼리를 실행할 수 있습니다:
1mysql> SELECT * 2 FROM performance_schema.file_instances 3 WHERE EVENT_NAME LIKE '%innodb%'\G 4*************************** 1. row *************************** 5 FILE_NAME: /home/dtprice/mysql-9.5/data/ibdata1 6EVENT_NAME: wait/io/file/innodb/innodb_data_file 7OPEN_COUNT: 3 8*************************** 2. row *************************** 9 FILE_NAME: /home/dtprice/mysql-9.5/data/#ib_16384_0.dblwr 10EVENT_NAME: wait/io/file/innodb/innodb_dblwr_file 11OPEN_COUNT: 2 12*************************** 3. row *************************** 13 FILE_NAME: /home/dtprice/mysql-9.5/data/#ib_16384_1.dblwr 14EVENT_NAME: wait/io/file/mysql-9.5/innodb_dblwr_file 15OPEN_COUNT: 2 16...
InnoDB 이벤트 데이터를 저장하는
performance_schema 테이블에 익숙해야 합니다. InnoDB 관련 이벤트와 관련된 테이블은 다음과 같습니다:
대기 이벤트를 저장하는 Wait Event 테이블
시간 경과에 따라 종료된 이벤트에 대한 집계 정보를 제공하는 Summary 테이블. Summary 테이블에는 I/O 작업에 대한 정보를 집계하는 file I/O summary tables가 포함됩니다.
InnoDB ALTER TABLE 및 버퍼 풀 로드 작업에 대한 이벤트 데이터를 저장하는
Stage Event 테이블. 자세한 내용은
Section 17.16.1, “Monitoring ALTER TABLE Progress for InnoDB Tables Using Performance Schema”
및
Monitoring Buffer Pool Load Progress Using Performance Schema를 참조하십시오.
InnoDB 관련 객체에만 관심이 있는 경우, 이러한 테이블을 쿼리할 때 WHERE EVENT_NAME LIKE '%innodb%' 또는 WHERE NAME LIKE '%innodb%' 절을 (필요에 따라) 사용하십시오.
17.15.8 Retrieving InnoDB Tablespace Metadata from INFORMATION_SCHEMA.FILES
17.16.1 Monitoring ALTER TABLE Progress for InnoDB Tables Using Performance Schema