[MYSQL] 성능 리포트

반응형
Diagnostic report 
tee diag1.out;
CALL
sys.diagnostics(120, 30, 'current');
notee;

--30초 간격으로 120 초동안 실행하면서 분석 리포트 생성

-. Oracle의 AWR이나 Tibero의 TPR 처럼 Snapshot을 기록해두고 성능을 추출하는 기능은 없어보인다.

-. Mysql에서는 Diagnositc report를 job으로 등록해서 지나간 시점에 대해 분석을 해야할 듯 하다.

 

MySQL 중요 Schema 
  performance_schema information_schema
주요 목적 성능 데이터의 수집 메타 데이터의 수집
애플리케이션 성능 개선 감시 도구이자 관리 도구
도입된 버전 5.5 5.0
SQL 표준 아님(MySQL 독자 기능) 맞음
설치방법 스토리지 엔진으로 설치 infomation schema API
데이터 수집 방법 mysqld 내부에서 코드를 실행할 때마다 information schema 테이블 접근 시
통상적인 오버 헤드 있음 없음
출력에 의한 오버 헤드 적음 많음
유사 툴 DTrace/SystemTap 각종 SHOW 명령어

- DB별 유용한 view 비교

  mysql oracle tibero
version sys.version
information_schema.ENGINES
v$version v$version
Session sys.x$session v$session v$session
Memory mysql.server_cost
sys.memory_by_host_by_current_bytes
sys.memory_by_thread_by_current_bytes
sys.memory_by_user_by_current_bytes
v$statname
v$sesstat 
- 위 2개 view를 조합하여 PGA, CPU사용량 조회

v$sga
v$process(PGA Used 확인)
v$statname
v$process(CPU time, PGA Used 확인)
Lock
sys.schema_table_lock_waits;
sys.innodb_lock_waits


v$lock vt_wlock
v$lock
parameter 조회 information_schema.parameters v$parameters v$parameters

 

 

 

 

 

 

#참고자료 

https://dev.mysql.com/doc/refman/8.0/en/sys-diagnostics.html

 

MySQL :: MySQL 8.0 Reference Manual :: 28.4.4.2 The diagnostics() Procedure

28.4.4.2 The diagnostics() Procedure Creates a report of the current server status for diagnostic purposes. This procedure disables binary logging during its execution by manipulating the session value of the sql_log_bin system variable. That is a restric

dev.mysql.com

http://cloudrain21.com/everything-of-mysql-performance-schema

 

MySQL 성능분석도구 이야기(PERFORMANCE_SCHEMA) - Rain.i

All about IT tech, especially database, cloud, linux, clustering.

cloudrain21.com

 

반응형