제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

29
EXEM seminar report no. 009 (2016.07.21) Research & Contents Team 제 9회 수요 세미나 자료 EXEM technical report 011

Upload: exem

Post on 13-Apr-2017

187 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

EXEM seminar report no. 009 (2016.07.21)

Research & Contents Team

제 9회 수요 세미나 자료

EXEM technical report 011

Page 2: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

Table of Agenda

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

제 9회 수요 세미나

1. [MySQL] Page와 Undo page deep internal 분석 (2차)

2. [MySQL] 서버 모니터링 (1차)

Page 3: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL] Page와 Undo page deep internal 분석 (2차)

발표자: 연구컨텐츠팀 이근오

Page 4: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]History List

• Roll pointer에는“is insert”flag, rollback segment ID, page number, page offset of the undo log location

• 위 그림은 roll pointer의 rollback segment ID와 Page number를 History Structure에서 가리킴

History Structure

rollback segment ID

Page number

roll pointer

Roll pointer structure :1-bit “is insert” flag7-bit rollback segment ID4-byte page number2-byte page offset of the undo log location

Page 5: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]History List

• InnoDB File에는 .ibd, .ibdata1, .frm이 있음.

InnoDB 파일구조

.ibd contain a single table and associated index data.

.frm A file containing the metadata, such as the table definition, of a MySQL table.

.ibdata1contain metadata about InnoDB tables, (the data dictionary), and the storage areas for one or more undo logs, the change buffer, and the doublewrite buffer.

Page 6: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]History List

• 테이블 덤프

• Roll pointer (38 00 00 01 79 22 98)를 예시로 함.

Update “C” 실행 후, 테이블 t1에 해당하는 t1.ibd 파일 Dump

Roll Pointer

• 1-bit : 0 (“is insert” flag)• 7-bit : 38 (rollback segment ID)• 4-byte : 00 00 01 79(page number)• 2-byte : 22 98 ( page offset )

0 : insert X1 : insert O

Page 7: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]History List

• 5번 페이지 덤프

• 테이블 덤프에서 구한 rollback segment ID (38-hex)에 해당하는 슬롯 값을 구함(c4)

ibdata1 파일의 5번 Page(trx_sys) Dump

38번 slot

Page 8: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]History List

• 5번 페이지에서 알아낸 언두 페이지 번호 ‘c4 page’의 덤프

• 테이블 덤프에 나온 페이지 번호와 동일한 Undo Segment Slot‘01 79’가 보임

Transaction System (5번 page) 38번 slot ‘c4’에 해당하는 Rollback Segment Page Dump

Page 9: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]History List

• Undo Segment 179번 페이지 덤프

• 테이블 덤프에 나온 page offset(2298) 에 해당하는 주소에 이전 값인 “DD1001”, “B”가 보임.

Undo Segment 179번 Page Dump

5e4000+2298

Page 10: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]

테스트 스크립트

create table exem_i.t1 ( c1 char(14), c2 char(2), c3 char(6), c4 char(3), primary key(c1) ) engine=innodb row_format=COMPACT ;create index t1_ix1 on exem_i.t1( c3,c4 ) ;

begin ;set @rownum := 1000;insert into exem_i.t1SELECT concat('DD',cast(@rownum:=@rownum+1 as char)) rownum ,'A','A','A'FROM (select a.* from information_schema.tables a, information_schema.tables b) tlimit 2;commit ;

begin ;update exem_i.t1 set c2='B' where c1='DD1001';commit ;

begin ;update exem_i.t1 set c2='C' where c1='DD1001';commit ;

History List

Page 11: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL] 서버 모니터링 (1차)

발표자: 연구컨텐츠팀 이대덕

Page 12: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

02. [MySQL] 서버 모니터링

2-1. SHOW STATUS (1차)

2-2. SHOW PROCESSLIST

2-3. Slow Query Log

2-4. Log Profiling

2-4. Performance_Schema

Page 13: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]

SHOW [GLOBAL|SESSION] STATUS [LIKE ‘pattern’ | WHERE expr]

• 서버가 시작되거나 ‘FLUSH STATUS’ 커맨드가 실행된 시점부터 누적되는 서버의 상태 값

• Session레벨과 Server레벨의 각 상태(Variable_name)와 값(Value)을 볼 수 있음.

• 기본 설정으로 현재 Session정보가 나오므로 혼동을 피하기 위해 GLOBAL, SESSION을 붙일 것을 권장

(EX. SHOW GLOBAL STATUS)

• InnoDB의 Row Lock Wait시간을 제외한 대부분이 Response Time이 아닌 카운터 수치

• 해당 명령어를 실행할 때마다 'Created_tmp_tables’ 상태변수 증가

• 모니터링 방법 중 SHOW PROCESSLIST 커맨드와 함께 비교적 가볍고 간단한 방법

• 5.6버전까지는 Information_Schema.global_status 테이블에서 조회 가능

• 5.7버전부터는 Performance_schema.global_status 테이블에서 조회 가능

(show_compatibility_56 파라미터를 ON으로 설정할 경우 5.6버전과 동일)

2-1. Global Read Lock

Page 14: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]2-1. SHOW STATUS

mysql> select version();+-----------+| version() |+-----------+| 5.7.9 |+-----------+1 row in set (0.00 sec)

mysql> select count(*) from information_schema.global_status;ERROR 3167 (HY000): The 'INFORMATION_SCHEMA.GLOBAL_STATUS' feature is disabled; see the documentation for 'show_compatibility_56‘

mysql> select count(*) from performance_schema.global_status;+----------+| count(*) |+----------+| 206 |+----------+1 row in set (0.00 sec)

mysql> SHOW GLOBAL STATUS;...360 rows in set (0.00 sec)

Page 15: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]2-1. SHOW STATUS

mysql> SELECT count(*) FROM INFORMATION_SCHEMA.GLOBAL_STATUS;ERROR 3167 (HY000): The 'INFORMATION_SCHEMA.GLOBAL_STATUS' feature is disabled; see the documentation for 'show_compatibility_56‘

mysql> SHOW VARIABLES LIKE 'show_compatibility_56';+-----------------------+-------+| Variable_name | Value |+-----------------------+-------+| show_compatibility_56 | OFF |+-----------------------+-------+1 row in set (0.00 sec)

mysql> SET GLOBAL show_compatibility_56=on;Query OK, 0 rows affected (0.01 sec)

mysql> select count(*) from information_schema.global_status;+----------+| count(*) |+----------+| 360 |+----------+1 row in set, 1 warning (0.00 sec)

Page 16: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]

Network

2-1. SHOW STATUS

상태변수 설명

Slow_launch_threads Slow_launch_time 변수보다 느리게 쓰레드를 생성 한 수

Threads_cached Thread_Cache에 캐시된 쓰레드 수

Threads_created 커넥션을 위해 새로 생성된 쓰레드 수 (Thread_Cache

Threads_connected 현재 연결된 커넥션 수

Threads_running sleeping 상태가 아닌 thread의 수

Max_used_connections 동시에 사용한 최대 사용자 수

Aborted_clients 클라이언트 커넥션이 비정상적으로 종료된 수

Aborted_connects MySQL 서버에 접속이 실패된 수

Bytes_received 모든 클라이언트로부터 받은 바이트 수

Bytes_sent 모든 클라이언트에게 보낸 바이트 수

Connections 연결이 시도 된 수

Page 17: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]

Binlog

2-1. SHOW STATUS

상태변수 설명

Binlog_cache_use Binary Log Cache 영역을 사용하는 트랜잭션 수

Binlog_cache_disk_use 디스크의 임시파일을 사용한 트랜잭션 수(binlog_cache_size 초과)

Binlog_stmt_cache_disk_use 디스크의 임시파일을 사용한 문장 수(binlog_stmt_cache_size 초과)

Binlog_stmt_cache_use Binary Log Statement Cache 영역을 사용하는 문장 수

상태변수 설명

Created_tmp_disk_tables 문장 실행 시 디스크에 생성된 임시 테이블 수

Created_tmp_files 임시 파일이 만들어진 수

Created_tmp_tables 임시 테이블이 만들어진 수

Temporary Files & Tables

Page 18: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]

Command Counters

2-1. SHOW STATUS

상태변수 설명

Questions 클라이언트가 서버에게 보낸 쿼리 수

Queries 서버가 실행 시킨 문장 수

Com_select SELECT 문장 실행 수

Com_delete DELETE 문장 실행 수

Com_insert INSERT 문장 실행 수

Com_update UPDATE 문장 실행 수

Com_replace REPLACE 문장 실행 수

Com_load Load 문장 실행 수

Com_delete_multi 여러 테이블 DELETE 문장 실행 수

Com_update_multi 여러 테이블 Update 문장 실행 수

Com_insert_select INSERT SELECT 문장 실행 수

Com_replace_select REPLACE SELECT 문장 실행 수

Page 19: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]

Handler

2-1. SHOW STATUS

상태변수 설명

Handler_prepare Two-Phase Commit 작업의 Prepare Phase 카운터

Handler_read_firstIndex Full Scan이 발생할 때 해당 인덱스의 첫 번째 키 값을 Fetch한 횟수 이 값이높다면 IFS가높다는 것

Handler_read_keykey를 기반으로 맨 처음 row를 읽겠다는 요청의 횟수. 쿼리의 조건절이 Index Range Scan, Index Unique Scan이 가능한 조건이고 조건에 맞는 데이터가 처음 발견됐을 때 횟수가 증가.

Handler_read_next인덱스 키의 순서에 따라 다음 행을 읽은 횟수. (인덱스 스캔, 인덱스 컬럼을 범위제한을 가지고읽는 경우 횟수 증가)

Handler_read_prev 인덱스 키의 반대순서(order by .. desx)로 읽는 경우이고 나머지는 next와 동일함

Handler_read_rnd데이터 파일의 고정된 위치의 행을 읽는(랜덤 읽기) 횟수. 인덱스를 사용하지 않는쿼리, 정렬, Table Full Scan시 증가

Handler_read_rnd_next Handler_read_rnd와 함께 튜닝대상(인덱스를 활용하지 못한다는 것)

Handler_rollback 스토리지엔진에게 롤백을 요청한 횟수

Handler_update 테이블에 Update가 일어난 횟수

Handler_write 테이블에 Insert가 일어난 횟수

Page 20: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]

SELECT TYPE

2-1. SHOW STATUS

상태변수 설명

Select_full_join인덱스를 사용하지 않고, 후행 테이블에서 테이블 스캔이 일어나는 join의 수. 이 값이 0이 아니면, 테이블의 인덱스를 check해 봐야 한다.

Select_full_range_join reference 테이블에서 범위로 search를 사용하는 조인의 수

Select_range첫 번째 테이블에서 range를 사용하는 조인의 수. 이것은 값이 크다고 해도 일반적으로critical한 이슈는 아니다.

Select_range_check 선행 테이블과 후행테이블의 JOIN 칼럼 비교 횟수

Select_scan 첫 번째 테이블의 full scan이 발생한 join의 수

상태변수 설명

Sort_range Range를 사용하여 수행됐던 Sort 수

Sort_rows Sort 된 Row 수

Sort_scan 테이블 스캔에 의해 Sort가 수행된 수

Sort_merge_passesSort 알고리즘에 의해 해야 했던 Merge Pass의 수, 이 값이 크다면 sort_buffer_size 변수값을 올리는 것을 고려

SORT

Page 21: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]

Table Open Cache

2-1. SHOW STATUS

상태변수 설명

Open_files 오픈된 파일의 수 (최대 open_files_limit까지 open 가능)

Open_streams 로그를 위해 주로 사용되는 오픈된 stream의 수

Open_table_definitions 캐쉬된 .frm파일의 수. 5.1.3이후에 추가되었다.

Open_tables 오픈된 테이블의 수

Opened_files mysys의 library 함수인 my_open()을 사용하여 오픈된 파일의 숫자

Opened_table_definitions Table definition Cache에 오픈된 .frm파일의 수

Opened_tables과거부터 현재까지 계속 오픈되고 있는 테이블의 수. 이 값이 크다면table_open_cache의 값이작거나 캐시된 테이블이 자주 Close 된다는 것

Table_open_cache_hits Table Cache의 hit 횟수

Table_open_cache_misses Table Cache의 miss 횟수

Table_open_cache_overflows Table_open_cache의 사이즈를 초과한 횟수

Page 22: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]2-1. SHOW STATUS

상태변수 설명

Qcache_free_blocks query cache안의 free 메모리 블럭 수

Qcache_free_memory query cache안의 free 메모리 사이즈

Qcache_hits query cache hit수

Qcache_inserts query cache에 추가되는 쿼리의 수

Qcache_lowmem_prunes 메모리 부족으로 자동으로 삭제되는 쿼리의 수

Qcache_not_cached 캐쉬되지 않은 쿼리의 수

Qcache_queries_in_cache cache안에 등록된 쿼리의 수

Qcache_total_blocks cache안의 총 블록의 수

Query Cache

Page 23: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]2-1. SHOW STATUS

상태변수 설명

Key_blocks_not_flushed 아직 디스크로 flush 되지 않고, 데이터는 변경된 key cache안의 key block의 수.

Key_blocks_unusedkey cache안에 아직 사용되지 않은 블럭의 수. key cache가 지금 현재 얼만큼 사용중인지 확인할수 가 있다.

Key_blocks_usedKey cache에 사용된 블럭의 수 이 값은 High-Water Mark로 사용된 것 중 가장 숫자가 높은 블럭을 가르킨다.

Key_read_requests 캐쉬로 부터 key block을 읽기위해 요청한 숫자.

Key_readsdisk로 key block에 읽은 물리적인 read의 수. key_read의 수가 크면 key_buffer_size가 너무 작다는 것이다. cache miss rate는 key_reads / key_read_requests로 계산한다.

Key_write_requests 캐쉬에 있는 키 블럭에 write요청을 한 수

Key_writes Key Cache로부터 디스크에 key block을 물리적으로 write한 횟수

Key Cache

Page 24: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]2-1. SHOW STATUS

상태변수 변수 타입 변수 범위 5.6 version 5.5 version 설명

Last_query_cost Numeric SESSION O O

• 쿼리 옵티마이저에 의해 computing 된 가장 최신의 쿼리에 대한 cost값

• 같은 쿼리에 대한 다른 쿼리 플랜에 대한 비교 분석 시 유용하게 쓰임• default값은 0인데, 값 0은 아직 한번도 컴파일 된 적이 없다는 뜻

• Subquery나 Union이 사용되지 않는 간단한 쿼리에 대한 computing된 값

Not_flushed_delayed_rows Integer GLOBAL O O deprecated (5.67 부터 Delayed Insert 기능이 삭제됨)

Ongoing_anonymous_gtid_violating_transaction_count

Integer GLOBAL X X디버그 빌드에서만 가능 gtid_next가 'anonymous'이고 GTID일관성을 위반하는 트랜잭션의 수

Ongoing_anonymous_transaction_count Integer GLOBAL X XAnonymouse 트랜잭션의 수, 앞으로 수행 될(대기중인) 트랜잭션이 없다는 걸확인하기 위해 사용할 수도 있음

Ongoing_automatic_gtid_violating_transaction_count

integer GLOBAL X X디버그 빌드에서만 가능 gtid_next가 'automatic'이고 GTID일관성을 위반하는트랜잭션의 수

Prepared_stmt_count integer GLOBAL O Oprepared statement에 대한 현재 수 ( max_prepared_stmt_count 의 수보다 더 클수는 없다. ) 5.1.14에서 추가되었다.

Slave_retried_transactions integer GLOBAL O O Slave에서 SQL Thread가 재시도 했던 트랜잭션 수

Slave_running boolean GLOBAL O O현재 서버가 Master 서버에 연결된 Slave서버이고, I/O와 SQL Thread 둘다Running중이면 ON 그렇지 않으면 OFF

Slow_launch_threads integerGLOBAL | S

ESSIONO O Slow_launch_time 변수보다 느리게 쓰레드를 생성 한 수

Slow_queries integerGLOBAL | S

ESSIONO O 슬로우 쿼리(long_query_time 변수 값 보다 높은 쿼리)의 수

Table_locks_immediate integer GLOBAL X O 테이블락을 즉시 획득한 수

Table_locks_waited integer GLOBAL X O 테이블 락을 wait 한 수

Uptime integer GLOBAL X O 서버의 업타임

Uptime_since_flush_status integer GLOBAL X O FLUSH STATUS명령어를 실행시킨 후 경과시간

그 외 주요 상태변수들

Page 25: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]2-1. SHOW STATUS

상태변수 변수 타입 변수 범위 5.6 version 5.5 version 설명

Delayed_errors integer GLOBAL O O deprecated (5.67 부터 Delayed Insert 기능이 삭제됨)

Delayed_insert_threads integer GLOBAL O O deprecated (5.67 부터 Delayed Insert 기능이 삭제됨)

Delayed_writes integer GLOBAL O O deprecated (5.67 부터 Delayed Insert 기능이 삭제됨)

Innodb_available_undo_logs integer GLOBAL O X 사용 가능한 InnoDB undo logs의 총 수

Innodb_buffer_pool_bytes_data integer GLOBAL O O데이터를 가지고 있는 페이지의 총 바이트 수(dirty, clean 버퍼 포함) 압축된 테이블이 버퍼풀에 캐시되어 정확한 사이즈 파악을 위해Innodb_buffer_pool_pages_data보다 해당 값을 사용

Innodb_buffer_pool_bytes_dirty integer GLOBAL O O 현재 버퍼풀에 있는 Dirty페이지의 바이트 수

Innodb_buffer_pool_pages_data integer GLOBAL O O 데이터를 포함한 dirty 또는 clean된 페이지의 수

Innodb_buffer_pool_pages_dirty integer GLOBAL O O 현재 버퍼풀에 있는 Dirty페이지 수

Innodb_buffer_pool_pages_flushed integer GLOBAL O O buffer pool 에 있는 페이지의 flush 요청 수

Innodb_buffer_pool_pages_free integer GLOBAL O O free pages의 수

Innodb_buffer_pool_pages_latched integer GLOBAL O O

InnoDB buffer pool안의 latched된 페이지의 수. 이 페이지들은 현재읽고 있거나, 쓰고 있거나, flushed될 수 없는 상태이거나, 다른 이유들로 삭제될 수 없는 페이지들을 말한다. 이 값의 계산비용이 무척 비싸기 때문에 5.1.28이후에 추가되었다.

Innodb_buffer_pool_pages_misc integer GLOBAL O O

row lock이나 adaptive hash index와 같은 작업으로 인해 관리에 overhead가 발생하여 할당된 바쁜 페이지들의 수. 이 수는 Innodb_buffer_pool_pages_total - Innodb_buffer_pool_pages_free - Innodb_buffer_pool_pages_data와 같다.

Innodb_buffer_pool_pages_total integer GLOBAL O O Buffer Pool의 총 사이즈(페이지 수)

Innodb_buffer_pool_read_ahead_rnd integer GLOBAL O OInnoDB에 의해 시작된 무작위의 read-ahead 수. 쿼리가 넓은 부분에서 random으로 테이블을 스캔하고자 할때 발생한다.

Page 26: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]2-1. SHOW STATUS

상태변수 변수 타입 변수 범위 5.6 version 5.5 version 설명

Innodb_buffer_pool_read_requests integer GLOBAL O O InnoDB가 진행한 Logical read의 request의 수

Innodb_buffer_pool_reads integer GLOBAL O OInnoDB가 buffer pool로 부터 채울 수 없고, single-page read를 해야 하는 logical read의 수

Innodb_buffer_pool_wait_free integer GLOBAL O O• InnoDB buffer pool의 사용할 페이지가 없는 경우 flush된 페이지

를 기다려야 할 필요있다. 이런 waiting을 counting한 수

• buffer pool size가 적당히 세팅되어있다면, 이 값은 작을 것이다.

Innodb_buffer_pool_write_requests integer GLOBAL O O InnoDB buffer pool에 쓰여진 횟수

Innodb_data_fsyncs integer GLOBAL O O fsync() 함수가 호출된 수( innodb_flush_method 시스템변수)

Innodb_data_pending_fsyncs integer GLOBAL O O fsync()함수가 pending된 현재 숫자.

Innodb_data_pending_reads integer GLOBAL O O pending된 읽기의 현재 수.

Innodb_data_pending_writes integer GLOBAL O O pending된 쓰기의 현재 수.

Innodb_data_read integer GLOBAL O O 서버가 시작될 때부터 읽은 데이터의 총 사이즈 (bytes)

Innodb_data_reads integer GLOBAL O O data read의 총 수

Innodb_data_writes integer GLOBAL O O data write의 총 수

Innodb_data_written integer GLOBAL O O 바이트 단위로 현재까지 읽혀진 데이터의 총 사이즈

Innodb_dblwr_pages_written integer GLOBAL O O Doublewrite Buffer로 쓰여진 페이지 수

Innodb_dblwr_writes integer GLOBAL O O Doublewrite 오퍼레이션이 수행된 횟수

Page 27: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]2-1. SHOW STATUS

상태변수 변수 타입 변수 범위 5.6 version 5.5 version 설명

Innodb_log_waits integer GLOBAL O O Log buffer크기가 모자라서 Flush될 때까지 wait한 시간

Innodb_log_write_requests integer GLOBAL O O Redo Log의 write 요청수

Innodb_log_writes integer GLOBAL O O Redo log 파일에 물리적으로 write 한 횟수

Innodb_os_log_fsyncs integer GLOBAL O O Redo log 파일에 fsync()작업을 수행한 횟수

Innodb_os_log_pending_fsyncs integer GLOBAL O O 로그 파일에 fsync() 작업이 pending된 수

Innodb_os_log_pending_writes integer GLOBAL O O 로그 파일에 대한 쓰기 작업이 pending된 수

Innodb_os_log_written integer GLOBAL O O 로그 파일에 쓰여진 byte 수

Innodb_page_size integer GLOBAL O O컴파일된 InnoDB의 페이지 사이즈 (기본은 16kb) 많은 값들이 페이지에서 계산된다. 페이지 사이즈는 그들이 바이트단위로 convert되기 쉽게 한다.

Innodb_pages_created integer GLOBAL O O 생성된 페이지의 수

Innodb_pages_read integer GLOBAL O O 읽혀진 페이지의 수

Innodb_pages_written integer GLOBAL O O 쓰여진 페이지의 수

Innodb_row_lock_current_waits integer GLOBAL O O 현재 발생하고 있는 Row Lock 대기 수

Innodb_row_lock_time integer GLOBAL O O Row lock을 획득하면서 소요된 시간 총합 (milliseconds)

Innodb_row_lock_time_avg integer GLOBAL O O Row lock을 획득하면서 소요된 시간 평균 (milliseconds)

Page 28: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

[MySQL]참조

http://mysqldba.tistory.com/161

http://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Select_range_check

http://blog.daum.net/joanney/16086031

DBA를 위한 MySQL 운영기술

MySQL, 4TH Edtion

Page 29: 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀

Research & Contents

Blog

Video

E-mail

NAVER http://cafe.naver.com/playexem

ITPUB http://blog.itpub.net/31135309/

Wordpress https://playexem.wordpress.com/

Slideshare http://www.slideshare.net/playexem

Youtube https://www.youtube.com/channel/UC5wKR_-A0eL_Pn_EMzoauJg

Tudou http://www.tudou.com/home/maxgauge/

교육문의:연구컨텐츠팀김숙진

[email protected]

© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.