MySQLTuner-perl 는 MySQL 이나 MariaDB 의 설치 및 설정을 빠르게 리뷰해주고 최적화를 위한 옵션을 제안해주는 Perl 로 작성한 스크립트입니다.

실행

사용하려면 github 에서 clone 을 받습니다.

git clone https://github.com/major/MySQLTuner-perl
cd MySQLTuner-perl
BASH


다음 명령어로 실행하면 현재 시스템을 진단하고 제안을 출력해 줍니다.

perl mysqltuner.pl
BASH


시작시 root 계정과 암호를 물어보는 데 커맨드 라인에서 전달하려면 --user 와 --pass 옵션을 사용합니다.

perl mysqltuner.pl --user root --pass my_root_pwd
CODE


현재 설정을 분석하고 내용을 출력한 후에 Recommendations 에 권고 사항을 출력해 줍니다.

...
-------- Galera Metrics ----------------------------------------------------------------------------
[--] Galera is disabled.
 
-------- Replication Metrics -----------------------------------------------------------------------
[--] Galera Synchronous replication: NO
[--] No replication slave(s) for this server.
[--] Binlog format: MIXED
[--] XA support enabled: ON
[--] Semi synchronous replication Master: OFF
[--] Semi synchronous replication Slave: OFF
[--] This is a standalone server
 
-------- Recommendations ---------------------------------------------------------------------------
General recommendations:
    MySQL was started within the last 24 hours - recommendations may be inaccurate
    Reduce your overall MySQL memory footprint for system stability
    Dedicate this server to your database for highest performance.
    Reduce or eliminate unclosed connections and network issues
    Performance schema should be activated for better diagnostics
    Consider installing Sys schema from https://github.com/mysql/mysql-sys for MySQL
    Consider installing Sys schema from https://github.com/FromDual/mariadb-sys for MariaDB
Variables to adjust:
  *** MySQL's maximum memory usage is dangerously high ***
  *** Add RAM before increasing MySQL buffer variables ***
    performance_schema = ON enable PFS
BASH


이런 도구들이 다 그렇지만 진단 내용에 대한 이해가 선행되어야 제대로 결과를 활용할 수 있습니다.

그리고 MariaDB 설치후 바로 실행하는 것은 성능 진단에 별 도움이 안되며 어느 정도 운영해서 데이터가 쌓여야 의미있는 결과가 나온다고 저자는 얘기하고 있습니다.

Ref