2009년 5월 24일 일요일

InnoDB 모니터 3

SHOW ENGINE INNODB MUTEX의 출력항목

SHOW ENGINE INNODB MUTEX으로 표시되는 항목은 다음과 같다.

mysql>SHOW ENGINE INNODB MUTEX\G
***************** 1. row *************************
Type: InnoDB
Name: &purge_sys->mutex:trx0purge.c
Satus: count=2, spin_wait=0, spin_rounds=0, os_waits=0, os_yields=0, os_wait_times=0

Type는 항상 InnoDB가 된다.
Name은 소스 파일명과 mutex의 이름이다.
Status는 mutex의 상태를 나타낸다. 자세하게는 다음과 같다.

  • count mutex가 몇번 요청되었나
  • spin_waits spinlock이 몇번 실행되었나
  • spin_rounds spinlock의 회전(round)수(spin_rounds/ sin_waits=평균회전수)
  • os_waits spinlock이 동작하지 않았을 경우의 OS대기회수
  • os_yields mutex가 timeslice와 yield를 포기한 횟수
  • os_wait_times os대기시간(msec.)


timed_mutexes 서버변수(표준은 0)를 1로 하면 os_wait_times는 OS의 wait 시간의 합계(msec.)가 된다.