SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
EXEM seminar report no. 009 (2016.07.21)
Research & Contents Team
제 9회 수요 세미나 자료
EXEM technical report 011
Table of Agenda
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
제 9회 수요 세미나
1. [MySQL] Page와 Undo page deep internal 분석 (2차)
2. [MySQL] 서버 모니터링 (1차)
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
[MySQL] Page와 Undo page deep internal 분석 (2차)
발표자: 연구컨텐츠팀 이근오
© 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” flag
7-bit rollback segment ID
4-byte page number
2-byte page offset of the undo log location
© 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.
.ibdata1
contain metadata about InnoDB tables, (the data dictionary), and the storage
areas for one or more undo logs, the change buffer, and the doublewrite buffer.
© 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 X
1 : insert O
© 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
© 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
© 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
© 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.t1
SELECT concat('DD',cast(@rownum:=@rownum+1 as char)) rownum ,'A','A','A'
FROM (select a.* from information_schema.tables a, information_schema.tables b) t
limit 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
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
[MySQL] 서버 모니터링 (1차)
발표자: 연구컨텐츠팀 이대덕
02. [MySQL] 서버 모니터링
2-1. SHOW STATUS (1차)
2-2. SHOW PROCESSLIST
2-3. Slow Query Log
2-4. Log Profiling
2-4. Performance_Schema
© 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
© 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)
© 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)
© 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 연결이 시도 된 수
© 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
© 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 문장 실행 수
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.
[MySQL]
 Handler
2-1. SHOW STATUS
상태변수 설명
Handler_prepare Two-Phase Commit 작업의 Prepare Phase 카운터
Handler_read_first
Index Full Scan이 발생할 때 해당 인덱스의 첫 번째 키 값을 Fetch한 횟수 이 값이높다면 IFS가
높다는 것
Handler_read_key
key를 기반으로 맨 처음 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가 일어난 횟수
© 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_passes
Sort 알고리즘에 의해 해야 했던 Merge Pass의 수, 이 값이 크다면 sort_buffer_size 변수
값을 올리는 것을 고려
 SORT
© 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의 사이즈를 초과한 횟수
© 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
© 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_unused
key cache안에 아직 사용되지 않은 블럭의 수. key cache가 지금 현재 얼만큼 사용중인지 확인할
수 가 있다.
Key_blocks_used
Key cache에 사용된 블럭의 수 이 값은 High-Water Mark로 사용된 것 중 가장 숫자가 높은 블럭
을 가르킨다.
Key_read_requests 캐쉬로 부터 key block을 읽기위해 요청한 숫자.
Key_reads
disk로 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
© 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_tran
saction_count
Integer GLOBAL X X
디버그 빌드에서만 가능 gtid_next가 'anonymous'이고 GTID일관성을 위반하
는 트랜잭션의 수
Ongoing_anonymous_transaction_count Integer GLOBAL X X
Anonymouse 트랜잭션의 수, 앞으로 수행 될(대기중인) 트랜잭션이 없다는 걸
확인하기 위해 사용할 수도 있음
Ongoing_automatic_gtid_violating_transa
ction_count
integer GLOBAL X X
디버그 빌드에서만 가능 gtid_next가 'automatic'이고 GTID일관성을 위반하는
트랜잭션의 수
Prepared_stmt_count integer GLOBAL O O
prepared 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 integer
GLOBAL | S
ESSION
O O Slow_launch_time 변수보다 느리게 쓰레드를 생성 한 수
Slow_queries integer
GLOBAL | S
ESSION
O 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명령어를 실행시킨 후 경과시간
 그 외 주요 상태변수들
© 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와 같은 작업으로 인해 관리에 ov
erhead가 발생하여 할당된 바쁜 페이지들의 수. 이 수는 Innodb_buff
er_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 O
InnoDB에 의해 시작된 무작위의 read-ahead 수. 쿼리가 넓은 부분
에서 random으로 테이블을 스캔하고자 할때 발생한다.
© 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 O
InnoDB가 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 오퍼레이션이 수행된 횟수
© 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)
© 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
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/
교육 문의: 연구컨텐츠팀 김숙진
edu@ex-em.com
© Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.

Contenu connexe

Tendances

PostgreSQL 공간관리 살펴보기 이근오
PostgreSQL 공간관리 살펴보기 이근오PostgreSQL 공간관리 살펴보기 이근오
PostgreSQL 공간관리 살펴보기 이근오PgDay.Seoul
 
[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL
[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL
[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQLPgDay.Seoul
 
파이썬 데이터베이스 연결 1탄
파이썬 데이터베이스 연결 1탄파이썬 데이터베이스 연결 1탄
파이썬 데이터베이스 연결 1탄SeongHyun Ahn
 
파이썬 데이터베이스 연결 2탄
파이썬 데이터베이스 연결 2탄파이썬 데이터베이스 연결 2탄
파이썬 데이터베이스 연결 2탄SeongHyun Ahn
 
Pgday bdr 천정대
Pgday bdr 천정대Pgday bdr 천정대
Pgday bdr 천정대PgDay.Seoul
 
Federated Engine 실무적용사례
Federated Engine 실무적용사례Federated Engine 실무적용사례
Federated Engine 실무적용사례I Goo Lee
 
PostgreSql vaccum
PostgreSql vaccumPostgreSql vaccum
PostgreSql vaccum승범 현
 
[Pgday.Seoul 2017] 8. PostgreSQL 10 새기능 소개 - 김상기
[Pgday.Seoul 2017] 8. PostgreSQL 10 새기능 소개 - 김상기[Pgday.Seoul 2017] 8. PostgreSQL 10 새기능 소개 - 김상기
[Pgday.Seoul 2017] 8. PostgreSQL 10 새기능 소개 - 김상기PgDay.Seoul
 
[2015-06-26] Oracle 성능 최적화 및 품질 고도화 3
[2015-06-26] Oracle 성능 최적화 및 품질 고도화 3[2015-06-26] Oracle 성능 최적화 및 품질 고도화 3
[2015-06-26] Oracle 성능 최적화 및 품질 고도화 3Seok-joon Yun
 
MySQL GTID 시작하기
MySQL GTID 시작하기MySQL GTID 시작하기
MySQL GTID 시작하기I Goo Lee
 
[2015-07-10-윤석준] Oracle 성능 관리 & v$sysstat
[2015-07-10-윤석준] Oracle 성능 관리 & v$sysstat[2015-07-10-윤석준] Oracle 성능 관리 & v$sysstat
[2015-07-10-윤석준] Oracle 성능 관리 & v$sysstatSeok-joon Yun
 
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1Seok-joon Yun
 
Enterprise Linux 7 new feature_systemd_booting
Enterprise Linux 7 new feature_systemd_bootingEnterprise Linux 7 new feature_systemd_booting
Enterprise Linux 7 new feature_systemd_bootingsuk kim
 
[2015-06-19] Oracle 성능 최적화 및 품질 고도화 2
[2015-06-19] Oracle 성능 최적화 및 품질 고도화 2[2015-06-19] Oracle 성능 최적화 및 품질 고도화 2
[2015-06-19] Oracle 성능 최적화 및 품질 고도화 2Seok-joon Yun
 
ORACLE EXADATA HCC 압축방식 이해하기_Wh oracle
ORACLE EXADATA HCC 압축방식 이해하기_Wh oracleORACLE EXADATA HCC 압축방식 이해하기_Wh oracle
ORACLE EXADATA HCC 압축방식 이해하기_Wh oracle엑셈
 
MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용I Goo Lee
 
KEEP BUFFER 활용 방안_Wh oracle
KEEP BUFFER 활용 방안_Wh oracleKEEP BUFFER 활용 방안_Wh oracle
KEEP BUFFER 활용 방안_Wh oracle엑셈
 
Airflow를 이용한 데이터 Workflow 관리
Airflow를 이용한  데이터 Workflow 관리Airflow를 이용한  데이터 Workflow 관리
Airflow를 이용한 데이터 Workflow 관리YoungHeon (Roy) Kim
 
MySQL Deep dive with FusionIO
MySQL Deep dive with FusionIOMySQL Deep dive with FusionIO
MySQL Deep dive with FusionIOI Goo Lee
 

Tendances (20)

PostgreSQL 공간관리 살펴보기 이근오
PostgreSQL 공간관리 살펴보기 이근오PostgreSQL 공간관리 살펴보기 이근오
PostgreSQL 공간관리 살펴보기 이근오
 
[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL
[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL
[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL
 
파이썬 데이터베이스 연결 1탄
파이썬 데이터베이스 연결 1탄파이썬 데이터베이스 연결 1탄
파이썬 데이터베이스 연결 1탄
 
파이썬 데이터베이스 연결 2탄
파이썬 데이터베이스 연결 2탄파이썬 데이터베이스 연결 2탄
파이썬 데이터베이스 연결 2탄
 
Pgday bdr 천정대
Pgday bdr 천정대Pgday bdr 천정대
Pgday bdr 천정대
 
Federated Engine 실무적용사례
Federated Engine 실무적용사례Federated Engine 실무적용사례
Federated Engine 실무적용사례
 
PostgreSql vaccum
PostgreSql vaccumPostgreSql vaccum
PostgreSql vaccum
 
[Pgday.Seoul 2017] 8. PostgreSQL 10 새기능 소개 - 김상기
[Pgday.Seoul 2017] 8. PostgreSQL 10 새기능 소개 - 김상기[Pgday.Seoul 2017] 8. PostgreSQL 10 새기능 소개 - 김상기
[Pgday.Seoul 2017] 8. PostgreSQL 10 새기능 소개 - 김상기
 
[2015-06-26] Oracle 성능 최적화 및 품질 고도화 3
[2015-06-26] Oracle 성능 최적화 및 품질 고도화 3[2015-06-26] Oracle 성능 최적화 및 품질 고도화 3
[2015-06-26] Oracle 성능 최적화 및 품질 고도화 3
 
MySQL GTID 시작하기
MySQL GTID 시작하기MySQL GTID 시작하기
MySQL GTID 시작하기
 
[2015-07-10-윤석준] Oracle 성능 관리 & v$sysstat
[2015-07-10-윤석준] Oracle 성능 관리 & v$sysstat[2015-07-10-윤석준] Oracle 성능 관리 & v$sysstat
[2015-07-10-윤석준] Oracle 성능 관리 & v$sysstat
 
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1
 
(오라클힌트/SQL튜닝 강좌)쿼리튜닝을 위한 오라클의 10053 이벤트
(오라클힌트/SQL튜닝 강좌)쿼리튜닝을 위한 오라클의 10053 이벤트(오라클힌트/SQL튜닝 강좌)쿼리튜닝을 위한 오라클의 10053 이벤트
(오라클힌트/SQL튜닝 강좌)쿼리튜닝을 위한 오라클의 10053 이벤트
 
Enterprise Linux 7 new feature_systemd_booting
Enterprise Linux 7 new feature_systemd_bootingEnterprise Linux 7 new feature_systemd_booting
Enterprise Linux 7 new feature_systemd_booting
 
[2015-06-19] Oracle 성능 최적화 및 품질 고도화 2
[2015-06-19] Oracle 성능 최적화 및 품질 고도화 2[2015-06-19] Oracle 성능 최적화 및 품질 고도화 2
[2015-06-19] Oracle 성능 최적화 및 품질 고도화 2
 
ORACLE EXADATA HCC 압축방식 이해하기_Wh oracle
ORACLE EXADATA HCC 압축방식 이해하기_Wh oracleORACLE EXADATA HCC 압축방식 이해하기_Wh oracle
ORACLE EXADATA HCC 압축방식 이해하기_Wh oracle
 
MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용
 
KEEP BUFFER 활용 방안_Wh oracle
KEEP BUFFER 활용 방안_Wh oracleKEEP BUFFER 활용 방안_Wh oracle
KEEP BUFFER 활용 방안_Wh oracle
 
Airflow를 이용한 데이터 Workflow 관리
Airflow를 이용한  데이터 Workflow 관리Airflow를 이용한  데이터 Workflow 관리
Airflow를 이용한 데이터 Workflow 관리
 
MySQL Deep dive with FusionIO
MySQL Deep dive with FusionIOMySQL Deep dive with FusionIO
MySQL Deep dive with FusionIO
 

En vedette

Performance schema 설정
Performance schema 설정Performance schema 설정
Performance schema 설정EXEM
 
제 6회 엑셈 수요 세미나 자료 연구컨텐츠팀
제 6회 엑셈 수요 세미나 자료 연구컨텐츠팀제 6회 엑셈 수요 세미나 자료 연구컨텐츠팀
제 6회 엑셈 수요 세미나 자료 연구컨텐츠팀EXEM
 
Oracle Deep Internal 2 (ver.2)
Oracle Deep Internal 2 (ver.2)Oracle Deep Internal 2 (ver.2)
Oracle Deep Internal 2 (ver.2)EXEM
 
Oracle Deep Internal 3 (ver.2)
Oracle Deep Internal 3 (ver.2)Oracle Deep Internal 3 (ver.2)
Oracle Deep Internal 3 (ver.2)EXEM
 
Using Optimizer Hints to Improve MySQL Query Performance
Using Optimizer Hints to Improve MySQL Query PerformanceUsing Optimizer Hints to Improve MySQL Query Performance
Using Optimizer Hints to Improve MySQL Query Performanceoysteing
 
제 8회 엑셈 수요 세미나 자료 연구컨텐츠팀
제 8회 엑셈 수요 세미나 자료 연구컨텐츠팀제 8회 엑셈 수요 세미나 자료 연구컨텐츠팀
제 8회 엑셈 수요 세미나 자료 연구컨텐츠팀EXEM
 
Oracle Deep Internal 4 (ver.2)
Oracle Deep Internal 4 (ver.2)Oracle Deep Internal 4 (ver.2)
Oracle Deep Internal 4 (ver.2)EXEM
 
【中文】 odi no.004 analysis of oracle performance degradation caused by ineffi...
【中文】   odi no.004 analysis of oracle performance degradation caused by ineffi...【中文】   odi no.004 analysis of oracle performance degradation caused by ineffi...
【中文】 odi no.004 analysis of oracle performance degradation caused by ineffi...EXEM
 
[MySQL 스터디] 기타기능
[MySQL 스터디] 기타기능[MySQL 스터디] 기타기능
[MySQL 스터디] 기타기능Jong Ho Park
 
2009년 시무식 Apm
2009년 시무식 Apm2009년 시무식 Apm
2009년 시무식 ApmEXEM
 
밋업발표
밋업발표밋업발표
밋업발표진성 박
 
Oracle Deep Internal 3 (ver.2)
Oracle Deep Internal 3 (ver.2)Oracle Deep Internal 3 (ver.2)
Oracle Deep Internal 3 (ver.2)EXEM
 
Oracle Deep Internal 1 (ver.2)
Oracle Deep Internal 1 (ver.2)Oracle Deep Internal 1 (ver.2)
Oracle Deep Internal 1 (ver.2)EXEM
 
The Great Debate: PostgreSQL vs MySQL
The Great Debate: PostgreSQL vs MySQLThe Great Debate: PostgreSQL vs MySQL
The Great Debate: PostgreSQL vs MySQLEDB
 
Apache tomcat 로드밸런싱 김태호-20140808
Apache tomcat 로드밸런싱 김태호-20140808Apache tomcat 로드밸런싱 김태호-20140808
Apache tomcat 로드밸런싱 김태호-20140808Taeho Kim
 
PostgreSQL Performance Tuning
PostgreSQL Performance TuningPostgreSQL Performance Tuning
PostgreSQL Performance Tuningelliando dias
 
『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 미리보기
『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 미리보기『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 미리보기
『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 미리보기복연 이
 
Postgres Presentation
Postgres PresentationPostgres Presentation
Postgres Presentationgisborne
 

En vedette (20)

Performance schema 설정
Performance schema 설정Performance schema 설정
Performance schema 설정
 
제 6회 엑셈 수요 세미나 자료 연구컨텐츠팀
제 6회 엑셈 수요 세미나 자료 연구컨텐츠팀제 6회 엑셈 수요 세미나 자료 연구컨텐츠팀
제 6회 엑셈 수요 세미나 자료 연구컨텐츠팀
 
Oracle Deep Internal 2 (ver.2)
Oracle Deep Internal 2 (ver.2)Oracle Deep Internal 2 (ver.2)
Oracle Deep Internal 2 (ver.2)
 
Oracle Deep Internal 3 (ver.2)
Oracle Deep Internal 3 (ver.2)Oracle Deep Internal 3 (ver.2)
Oracle Deep Internal 3 (ver.2)
 
Using Optimizer Hints to Improve MySQL Query Performance
Using Optimizer Hints to Improve MySQL Query PerformanceUsing Optimizer Hints to Improve MySQL Query Performance
Using Optimizer Hints to Improve MySQL Query Performance
 
test
testtest
test
 
제 8회 엑셈 수요 세미나 자료 연구컨텐츠팀
제 8회 엑셈 수요 세미나 자료 연구컨텐츠팀제 8회 엑셈 수요 세미나 자료 연구컨텐츠팀
제 8회 엑셈 수요 세미나 자료 연구컨텐츠팀
 
Oracle Deep Internal 4 (ver.2)
Oracle Deep Internal 4 (ver.2)Oracle Deep Internal 4 (ver.2)
Oracle Deep Internal 4 (ver.2)
 
【中文】 odi no.004 analysis of oracle performance degradation caused by ineffi...
【中文】   odi no.004 analysis of oracle performance degradation caused by ineffi...【中文】   odi no.004 analysis of oracle performance degradation caused by ineffi...
【中文】 odi no.004 analysis of oracle performance degradation caused by ineffi...
 
[MySQL 스터디] 기타기능
[MySQL 스터디] 기타기능[MySQL 스터디] 기타기능
[MySQL 스터디] 기타기능
 
2009년 시무식 Apm
2009년 시무식 Apm2009년 시무식 Apm
2009년 시무식 Apm
 
밋업발표
밋업발표밋업발표
밋업발표
 
Oracle Deep Internal 3 (ver.2)
Oracle Deep Internal 3 (ver.2)Oracle Deep Internal 3 (ver.2)
Oracle Deep Internal 3 (ver.2)
 
Oracle Deep Internal 1 (ver.2)
Oracle Deep Internal 1 (ver.2)Oracle Deep Internal 1 (ver.2)
Oracle Deep Internal 1 (ver.2)
 
XDebug For php debugging
XDebug For php debuggingXDebug For php debugging
XDebug For php debugging
 
The Great Debate: PostgreSQL vs MySQL
The Great Debate: PostgreSQL vs MySQLThe Great Debate: PostgreSQL vs MySQL
The Great Debate: PostgreSQL vs MySQL
 
Apache tomcat 로드밸런싱 김태호-20140808
Apache tomcat 로드밸런싱 김태호-20140808Apache tomcat 로드밸런싱 김태호-20140808
Apache tomcat 로드밸런싱 김태호-20140808
 
PostgreSQL Performance Tuning
PostgreSQL Performance TuningPostgreSQL Performance Tuning
PostgreSQL Performance Tuning
 
『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 미리보기
『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 미리보기『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 미리보기
『프로젝트 성패를 결정짓는 데이터 모델링 이야기』 - 미리보기
 
Postgres Presentation
Postgres PresentationPostgres Presentation
Postgres Presentation
 

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

Presto User & Admin Guide
Presto User & Admin GuidePresto User & Admin Guide
Presto User & Admin GuideJEONGPHIL HAN
 
Windows 성능모니터를 이용한 SQL Server 성능 분석
Windows 성능모니터를 이용한 SQL Server 성능 분석Windows 성능모니터를 이용한 SQL Server 성능 분석
Windows 성능모니터를 이용한 SQL Server 성능 분석Sung wook Kang
 
Memcached의 확장성 개선
Memcached의 확장성 개선Memcached의 확장성 개선
Memcached의 확장성 개선NAVER D2
 
DEVIEW 2013 Presentation
DEVIEW 2013 PresentationDEVIEW 2013 Presentation
DEVIEW 2013 PresentationWon Gil Kim
 
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018Amazon Web Services Korea
 
Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문SeungHyun Eom
 
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018Amazon Web Services Korea
 
20140528 AWS Meister BlackBelt - Amazon Kinesis (Korean)
20140528 AWS Meister BlackBelt - Amazon Kinesis (Korean)20140528 AWS Meister BlackBelt - Amazon Kinesis (Korean)
20140528 AWS Meister BlackBelt - Amazon Kinesis (Korean)Amazon Web Services Korea
 
DBMS 아키텍처
DBMS 아키텍처DBMS 아키텍처
DBMS 아키텍처HaksunLEE6
 
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016Amazon Web Services Korea
 
AWS 9월 웨비나 | Amazon Aurora Deep Dive
AWS 9월 웨비나 | Amazon Aurora Deep DiveAWS 9월 웨비나 | Amazon Aurora Deep Dive
AWS 9월 웨비나 | Amazon Aurora Deep DiveAmazon Web Services Korea
 
Assembly 스터디 1
Assembly 스터디 1Assembly 스터디 1
Assembly 스터디 1Jinkyoung Kim
 
MariaDB Other Features
MariaDB Other FeaturesMariaDB Other Features
MariaDB Other FeaturesJongJin Lee
 
Fundamentals of Oracle SQL
Fundamentals of Oracle SQLFundamentals of Oracle SQL
Fundamentals of Oracle SQLJAEGEUN YU
 
Migration to Azure Database for MySQL
Migration to Azure Database for MySQLMigration to Azure Database for MySQL
Migration to Azure Database for MySQLrockplace
 
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017Amazon Web Services Korea
 
MySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxMySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxNeoClova
 
Ndc2011 성능 향상을_위한_데이터베이스_아키텍쳐_구축_및_개발_가이드
Ndc2011 성능 향상을_위한_데이터베이스_아키텍쳐_구축_및_개발_가이드Ndc2011 성능 향상을_위한_데이터베이스_아키텍쳐_구축_및_개발_가이드
Ndc2011 성능 향상을_위한_데이터베이스_아키텍쳐_구축_및_개발_가이드cranbe95
 
16 스레드 스택
16 스레드 스택16 스레드 스택
16 스레드 스택ssuser0c2478
 
Rankwave MOMENT™ (Korean)
Rankwave MOMENT™ (Korean)Rankwave MOMENT™ (Korean)
Rankwave MOMENT™ (Korean)HyoungEun Kim
 

Similaire à 제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀 (20)

Presto User & Admin Guide
Presto User & Admin GuidePresto User & Admin Guide
Presto User & Admin Guide
 
Windows 성능모니터를 이용한 SQL Server 성능 분석
Windows 성능모니터를 이용한 SQL Server 성능 분석Windows 성능모니터를 이용한 SQL Server 성능 분석
Windows 성능모니터를 이용한 SQL Server 성능 분석
 
Memcached의 확장성 개선
Memcached의 확장성 개선Memcached의 확장성 개선
Memcached의 확장성 개선
 
DEVIEW 2013 Presentation
DEVIEW 2013 PresentationDEVIEW 2013 Presentation
DEVIEW 2013 Presentation
 
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018
 
Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문
 
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
Amazon Aurora 신규 서비스 알아보기::최유정::AWS Summit Seoul 2018
 
20140528 AWS Meister BlackBelt - Amazon Kinesis (Korean)
20140528 AWS Meister BlackBelt - Amazon Kinesis (Korean)20140528 AWS Meister BlackBelt - Amazon Kinesis (Korean)
20140528 AWS Meister BlackBelt - Amazon Kinesis (Korean)
 
DBMS 아키텍처
DBMS 아키텍처DBMS 아키텍처
DBMS 아키텍처
 
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
 
AWS 9월 웨비나 | Amazon Aurora Deep Dive
AWS 9월 웨비나 | Amazon Aurora Deep DiveAWS 9월 웨비나 | Amazon Aurora Deep Dive
AWS 9월 웨비나 | Amazon Aurora Deep Dive
 
Assembly 스터디 1
Assembly 스터디 1Assembly 스터디 1
Assembly 스터디 1
 
MariaDB Other Features
MariaDB Other FeaturesMariaDB Other Features
MariaDB Other Features
 
Fundamentals of Oracle SQL
Fundamentals of Oracle SQLFundamentals of Oracle SQL
Fundamentals of Oracle SQL
 
Migration to Azure Database for MySQL
Migration to Azure Database for MySQLMigration to Azure Database for MySQL
Migration to Azure Database for MySQL
 
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
 
MySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxMySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docx
 
Ndc2011 성능 향상을_위한_데이터베이스_아키텍쳐_구축_및_개발_가이드
Ndc2011 성능 향상을_위한_데이터베이스_아키텍쳐_구축_및_개발_가이드Ndc2011 성능 향상을_위한_데이터베이스_아키텍쳐_구축_및_개발_가이드
Ndc2011 성능 향상을_위한_데이터베이스_아키텍쳐_구축_및_개발_가이드
 
16 스레드 스택
16 스레드 스택16 스레드 스택
16 스레드 스택
 
Rankwave MOMENT™ (Korean)
Rankwave MOMENT™ (Korean)Rankwave MOMENT™ (Korean)
Rankwave MOMENT™ (Korean)
 

Plus de EXEM

Amazon aurora 1
Amazon aurora 1Amazon aurora 1
Amazon aurora 1EXEM
 
[KOR] ODI no.004 analysis of oracle performance degradation caused by ineffic...
[KOR] ODI no.004 analysis of oracle performance degradation caused by ineffic...[KOR] ODI no.004 analysis of oracle performance degradation caused by ineffic...
[KOR] ODI no.004 analysis of oracle performance degradation caused by ineffic...EXEM
 
[ODI] chapter3 What is Max CR DBA(Max length)?
[ODI] chapter3 What is Max CR DBA(Max length)? [ODI] chapter3 What is Max CR DBA(Max length)?
[ODI] chapter3 What is Max CR DBA(Max length)? EXEM
 
[ODI] chapter2 what is "undo record chaining"?
[ODI] chapter2 what is "undo record chaining"?[ODI] chapter2 what is "undo record chaining"?
[ODI] chapter2 what is "undo record chaining"?EXEM
 
[ODI] chapter1 When Update statement is executed, How does oracle undo work?
[ODI] chapter1 When Update statement is executed,  How does oracle undo work?[ODI] chapter1 When Update statement is executed,  How does oracle undo work?
[ODI] chapter1 When Update statement is executed, How does oracle undo work?EXEM
 
[Practical owi] lock & latch
[Practical owi] lock & latch[Practical owi] lock & latch
[Practical owi] lock & latchEXEM
 

Plus de EXEM (6)

Amazon aurora 1
Amazon aurora 1Amazon aurora 1
Amazon aurora 1
 
[KOR] ODI no.004 analysis of oracle performance degradation caused by ineffic...
[KOR] ODI no.004 analysis of oracle performance degradation caused by ineffic...[KOR] ODI no.004 analysis of oracle performance degradation caused by ineffic...
[KOR] ODI no.004 analysis of oracle performance degradation caused by ineffic...
 
[ODI] chapter3 What is Max CR DBA(Max length)?
[ODI] chapter3 What is Max CR DBA(Max length)? [ODI] chapter3 What is Max CR DBA(Max length)?
[ODI] chapter3 What is Max CR DBA(Max length)?
 
[ODI] chapter2 what is "undo record chaining"?
[ODI] chapter2 what is "undo record chaining"?[ODI] chapter2 what is "undo record chaining"?
[ODI] chapter2 what is "undo record chaining"?
 
[ODI] chapter1 When Update statement is executed, How does oracle undo work?
[ODI] chapter1 When Update statement is executed,  How does oracle undo work?[ODI] chapter1 When Update statement is executed,  How does oracle undo work?
[ODI] chapter1 When Update statement is executed, How does oracle undo work?
 
[Practical owi] lock & latch
[Practical owi] lock & latch[Practical owi] lock & latch
[Practical owi] lock & latch
 

Dernier

A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 

Dernier (6)

A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 

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

  • 1. EXEM seminar report no. 009 (2016.07.21) Research & Contents Team 제 9회 수요 세미나 자료 EXEM technical report 011
  • 2. Table of Agenda © Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved. 제 9회 수요 세미나 1. [MySQL] Page와 Undo page deep internal 분석 (2차) 2. [MySQL] 서버 모니터링 (1차)
  • 3. © Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved. [MySQL] Page와 Undo page deep internal 분석 (2차) 발표자: 연구컨텐츠팀 이근오
  • 4. © 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” flag 7-bit rollback segment ID 4-byte page number 2-byte page offset of the undo log location
  • 5. © 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. .ibdata1 contain metadata about InnoDB tables, (the data dictionary), and the storage areas for one or more undo logs, the change buffer, and the doublewrite buffer.
  • 6. © 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 X 1 : insert O
  • 7. © 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
  • 8. © 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
  • 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
  • 10. © 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.t1 SELECT concat('DD',cast(@rownum:=@rownum+1 as char)) rownum ,'A','A','A' FROM (select a.* from information_schema.tables a, information_schema.tables b) t limit 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
  • 11. © Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved. [MySQL] 서버 모니터링 (1차) 발표자: 연구컨텐츠팀 이대덕
  • 12. 02. [MySQL] 서버 모니터링 2-1. SHOW STATUS (1차) 2-2. SHOW PROCESSLIST 2-3. Slow Query Log 2-4. Log Profiling 2-4. Performance_Schema
  • 13. © 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
  • 14. © 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)
  • 15. © 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)
  • 16. © 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 연결이 시도 된 수
  • 17. © 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
  • 18. © 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 문장 실행 수
  • 19. © Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved. [MySQL]  Handler 2-1. SHOW STATUS 상태변수 설명 Handler_prepare Two-Phase Commit 작업의 Prepare Phase 카운터 Handler_read_first Index Full Scan이 발생할 때 해당 인덱스의 첫 번째 키 값을 Fetch한 횟수 이 값이높다면 IFS가 높다는 것 Handler_read_key key를 기반으로 맨 처음 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가 일어난 횟수
  • 20. © 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_passes Sort 알고리즘에 의해 해야 했던 Merge Pass의 수, 이 값이 크다면 sort_buffer_size 변수 값을 올리는 것을 고려  SORT
  • 21. © 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의 사이즈를 초과한 횟수
  • 22. © 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
  • 23. © 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_unused key cache안에 아직 사용되지 않은 블럭의 수. key cache가 지금 현재 얼만큼 사용중인지 확인할 수 가 있다. Key_blocks_used Key cache에 사용된 블럭의 수 이 값은 High-Water Mark로 사용된 것 중 가장 숫자가 높은 블럭 을 가르킨다. Key_read_requests 캐쉬로 부터 key block을 읽기위해 요청한 숫자. Key_reads disk로 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
  • 24. © 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_tran saction_count Integer GLOBAL X X 디버그 빌드에서만 가능 gtid_next가 'anonymous'이고 GTID일관성을 위반하 는 트랜잭션의 수 Ongoing_anonymous_transaction_count Integer GLOBAL X X Anonymouse 트랜잭션의 수, 앞으로 수행 될(대기중인) 트랜잭션이 없다는 걸 확인하기 위해 사용할 수도 있음 Ongoing_automatic_gtid_violating_transa ction_count integer GLOBAL X X 디버그 빌드에서만 가능 gtid_next가 'automatic'이고 GTID일관성을 위반하는 트랜잭션의 수 Prepared_stmt_count integer GLOBAL O O prepared 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 integer GLOBAL | S ESSION O O Slow_launch_time 변수보다 느리게 쓰레드를 생성 한 수 Slow_queries integer GLOBAL | S ESSION O 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명령어를 실행시킨 후 경과시간  그 외 주요 상태변수들
  • 25. © 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와 같은 작업으로 인해 관리에 ov erhead가 발생하여 할당된 바쁜 페이지들의 수. 이 수는 Innodb_buff er_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 O InnoDB에 의해 시작된 무작위의 read-ahead 수. 쿼리가 넓은 부분 에서 random으로 테이블을 스캔하고자 할때 발생한다.
  • 26. © 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 O InnoDB가 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 오퍼레이션이 수행된 횟수
  • 27. © 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)
  • 28. © 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
  • 29. 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/ 교육 문의: 연구컨텐츠팀 김숙진 edu@ex-em.com © Copyrights 2001~2016, EXEM CO.,LTD. All Rights Reserved.