[MySQL] MysqlTuner Utility

안녕하세요 오늘은 베스핀글로벌 D&A실 왕승준님이 작성해 주신 [MySQL] MysqlTuner Utility에 대해 알아보겠습니다 궁금하신 부분이 있으시면 댓글을 달아주세요 🙂

  • MySQL Tuner개요

MySQL Tuner는 Perl로 작성된 스크립트로 MySQL 설치를 빠르게 검토하고 조정하여 성능과 안정성을 높일 수 있음.

호환성

  • MySQL 8.0(부분 지원, 비밀번호 확인이 작동하지 않음)
  • Percona Server 8.0(부분 지원, 비밀번호 확인이 작동하지 않음)
  • MySQL 5.7(전체 지원)
  • Percona Server 5.7(전체 지원)
  • MariaDB 10.6(전체 지원)
  • MariaDB 10.5(전체 지원)
  • MariaDB 10.4(전체 지원)
  • MariaDB 10.3(전체 지원)
  • Galera 복제(전체 지원)
  • Percona XtraDB 클러스터(전체 지원)
  • Mysql 복제(부분 지원, 테스트 환경 없음)
  • MySQL 5.6(지원되지 않음, 더      이상 사용되지 않는 버전)
  • Percona Server 5.6(지원되지 않음, 사용되지 않는 버전)
  • MySQL 5.5(지원되지 않음, 더      이상 사용되지 않는 버전)
  • MariaDB 5.5(지원되지 않음, 더      이상 사용되지 않는 버전)
  • MariaDB 10.2(지원되지 않음, 더      이상 사용되지 않는 버전)
  • MariaDB 10.1(지원되지 않음, 더      이상 사용되지 않는 버전)
  • MariaDB 10.0(지원되지 않음, 더      이상 사용되지 않는 버전)
  • MySQL 3.23, 4.0, 4.1, 5.0, 5.1(지원되지 않음 – 더      이상 사용되지 않는 버전)

MysqlTuner 유틸리티 사용 결과

àDB내 메타데이터 관련 및 딕셔너리 손쉽게 확인 가능.

à[!!]표시목으로 DB내 개선점 확인 가능.

  • Database
  • Table
  • Index
  • Slow_query
  • Instance_resource

Tuner 유틸리티는 Dicitonary DB내 Dicitonary 주로 Performance_shcema를 이용하여 데이터를 수집하며 Oracle의 snapshot 기능과 비슷하다고 보면 됨.

단점으로는 기간을 정하여 그 시점내의 데이터를 수집하긴 힘들며

X$ Dictionary 내 누적치를 가지고 데이터를 확인 가능하므로 해당 유틸리티를 전적으로 믿기보단 성능 진단의 틀을 만들기 위한 참고용으로만 사용하는게 좋아보임.

해당 프로그램의 소스는 공개 되어 있으며 Perl언어를 다룰줄 안다면 소스를 직접 수정하여 유동성있게 사용하는것도 좋은 방법중 하나로 보여짐.

MysqlTuner 설치(해당 테스트는 Amazon Linux2에서 실행)

1.    Wget http://mysqltuner.pl/ -O mysqltuner.pl

2.     Wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/basic_passwords.txt -O basic_passwords.txt

3.     wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/vulnerabilities.csv -O vulnerabilities.csv

MysqlTuner 명령어

#최소한의 점검

perl mysqltuner.pl

#DB내 모든 데이터를 점검

perl mysqltuner.pl –buffers –dbstat –idxstat –sysstat –pfstat –tbstat

#점검 결과를 Output File로 출력

–outputfile /tmp/result_mysqltuner.txt

#Remote 원격 서버에 점검 실행 ex) RDS의 스크립트 수행시

perl mysqltuner.pl –host [endpoint] –user [user] –port [port] –pass [pw] –buffers –dbstat –idxstat –sysstat –pfstat –tbstat –cvefile=vulnerabilities.csv –outputfile [File경로]

  • 그외 옵션들

참조 :

https://github.com/major/MySQLTuner-perl

감사합니다 🙂

문의: info@bespinglobal.com | 대표번호: 02-1668-1280

Leave a Comment