쿼리응답시간
mySql이 쿼리를 실행하는데 소요되는 시간
소요 시간
MySql이 쿼리를 받았을 때 시작되고, 결과 세트를 클라이언트에 전송한 시점까지의 경과 시간
Query Metric
- Slow Query Log
- default값은 비활성화 이나, mysql 재시작 없이 enabled 가능
- log_slow_extra를 활성화하면 다음 메트릭을 제공함
- Query_time
- Lock_time
- Rows_sent
- Rows_examined
-
Performance Schema
다이제스트 텍스트
select `name` from star_ships where class in ('galaxy')
select `name` from star_ships where class in ('galaxy', 'intrepid')
->
select `name` from `star_ships` where class in (...)
쿼리보고
- 쿼리 프로파일
- slow query를 표시
- 쿼리다이제스트와 함께 제한된 metric만 제공함
- 쿼리 총 시간 : 쿼리 실행 시간의 총 합
- 실행시간비율 : 쿼리 총시간을 실행 총시간으로 나눈 값
- 쿼리부하 : 쿼리 총 시간을 클럭타임으로 나눈것으로 쿼리부하가 평균적으로 1보다 작으면 동시 실행되지 않음을 의미함. 쿼리 부하가 높을수록 Race condition의 경우가 높아짐.
- 쿼리 보고서
- 하나의 쿼리에 대한 메트릭
- 쿼리 샘플, EXPLAIN, 계획, 테이블 구조 등 메타데이터가 포함됨
- 잠금시간 : 쿼리를 싱행하는 동안 Lock 상태를 setting하는데 소요된 시간
- 잠금시간이 쿼리 실행 시간의 50% 이상인 경우 문제가 있다고 판단함
Mysql InnoDB
- mySql의 기본 스토리지 엔진은 InnoDB