MySQL, MariaDB

MySQL/MariaDB Handler 모니터링

SungWookKang 2019. 3. 24. 11:06
반응형

MySQL/MariaDB Handler 모니터링

 

-       Version : MySQL 5.7.21, Ubuntu 16.0.4

 

MySQL 서버에서 Handler 모니터링 하는 방법에 대해서 알아본다. Handler(핸들러) 역할은 스토리지 엔진에 대해 읽기 또는 쓰기를 요청 한다. 핸들러 모니터링을 통해서 MySQL 쿼리가 스토리지 엔진의 데이터에 접근하는 방식과 패턴을 있기 때문에 성능 최적화를 위해 필요한 모니터링 지표 이다.

 

아래 스크립트를 실행하면 핸들러에 대한 모니터링 지표를 확인할 있다.

show status where variable_name like ‘handler%’

 


 

Variable Name

Comment

Handler_commit

커밋

Handler_delete

행을 삭제 하기 위한 요청 횟수

Handler_discover

NDBCLUSTER 스토리지 엔진에 요청하여 테이블 이름을 요청한 횟수

Handler_external_lock

external_lock() 호출한 횟수, 일반적으로 테이블 액세스 시작과 끝에 발생

Handler_mrr_init

테이블 액세스에 다중 범위 읽기 구현을 사용한 횟수

Handler_prepare

2단계 커밋 작업을 준비한 횟수

Handler_read_first

인덱스의 번째 값을 패치(fetch) 횟수

Handler_read_key

단일 행의 인덱스 값을 읽은 횟수.

Handler_read_last

인덱스의 마지막 키를 읽은 횟수

Handler_read_next

인덱스의 후속 행의 키를 읽은 횟수

Handler_read_prev

인덱스의 이전 행의 키를 읽은 횟수

Handler_read_rnd

고정된 위치의 특정 행을 읽은 횟수

Handler_read_rnd_next

고정된 위치의 특정 행에 대한 후속 읽기 횟수

Handler_rollback

스토리지 엔진이 롤백 요청을 받은 횟수

Handler_savepoint

Savepoint 요청한 횟수

Handler_savepoint_rollback

Savepoit 지점으로 롤백을 요청한 횟수

Handler_update

행을 업데이트 하기 위한 요청 횟수

Handler_write

행을 삽입 하기 위한 요청 횟수

 

Handler_read_first 값은 index full scan 발행한 횟수와 동일하다. Handler_read_next 인덱스 순서에 따라 다음 행을 읽은 횟수로 인덱스를 스캔하거나 제한적으로 범위 검색이 발생할 기록된다. Handler_read_first 수치가 예상보다 높게 나타난다면index full scan 발생시키는 쿼리가 있는지 확인하여 적절하게 인덱스를 사용할 있도록 튜닝해야 한다.

Handler_read_rnd 테이블 스캔이나 인덱스 범위 스캔이 발생할 데이터 파일의 고정된 위치의 행을 읽은 횟수로  대상 테이블에 적절한 인덱스가 없는 경우 발생할 있다. 또한 인덱스를 사용하지 않는 조인이 발생하거나 정렬 연상이 발생한 경우도 증가하기 때문에 수치가 높다면 요청 쿼리에 대해 적절한 인덱스가 있는지 확인 해야 한다.

 

2018-04-10 / 강성욱 / http://sqlmvp.kr / http://sqlangeles.com

 

MySQL, handler,핸들러 모니터링,스퇴리지 모니터링, mysql handler, MySQL튜닝, access pattern, 액세스 패턴, ,스토리지 사용 패턴



반응형