その他
    ホーム 技術発信 DoRuby MySQLを診断してチューニングポイントを教えてくれるツール「MySQLTuner」の紹介

    MySQLを診断してチューニングポイントを教えてくれるツール「MySQLTuner」の紹介

    この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

    MySQLを診断してチューニングポイントを教えてくれるツール「MySQLTuner

    このツールのCentOS5.3へのインストールを実施してみます。

    MySQLTuner」のインストールから、使用方法を紹介します。

    このツールはMySQLを診断し、設定値をどのように書き換えたらいいか教えてくれます。 (全部これに頼るというよりは参考程度のようですので、注意が必要です)

    インストールは簡単。 任意のディレクトリにスクリプトをダウンロードし、実行権限を与えるだけです。

    # wget http://mysqltuner.com/mysqltuner.pl

    # chmod +x mysqltuner.pl

    実行方法は以下の通りです。

    # ./mysqltuner.pl

    >> MySQLTuner 1.0.0 – Major Hayden

    >> Bug reports, feature requests, and downloads at http://mysqltuner.com/

    >> Run with ‘–help’ for additional options and output filtering [!!] Successfully authenticated with no password – SECURITY RISK!

    ——– General Statistics ————————————————–

    [–] Skipped version check for MySQLTuner script

    [OK] Currently running supported MySQL version 5.0.45-log

    [OK] Operating on 64-bit architecture

    ——– Storage Engine Statistics ——————————————-

    [–] Status: -Archive -BDB -Federated +InnoDB -ISAM -NDBCluster

    [–] Data in MyISAM tables: 51M (Tables: 77)

    [–] Data in InnoDB tables: 63M (Tables: 103)

    [OK] Total fragmented tables: 0

    ——– Performance Metrics ————————————————-

    [–] Up for: 7d 1h 1m 2s (121K q [0.200 qps], 120K conn, TX: 103M, RX: 9M)

    [–] Reads / Writes: 100% / 0%

    [–] Total buffers: 6.1G global + 34.2M per thread (100 max threads)

    [OK] Maximum possible memory usage: 9.4G (59% of installed RAM)

    [OK] Slow queries: 0% (0/121K)

    [OK] Highest usage of available connections: 41% (41/100)

    [OK] Key buffer size / total MyISAM indexes: 3.9G/106.2M

    [OK] Query cache efficiency: 84.6% (269 cached / 318 selects)

    [OK] Query cache prunes per day: 0

    [OK] Sorts requiring temporary tables: 0% (0 temp sorts / 4 sorts)

    [!!] Temporary tables created on disk: 47% (18 on disk / 38 total)

    [OK] Thread cache hit rate: 99% (41 created / 120K connections)

    [OK] Table cache hit rate: 62% (10 open / 16 opened)

    [OK] Open file limit used: 0% (15/8K)

    [OK] Table locks acquired immediately: 100% (58 immediate / 58 locks)

    [OK] InnoDB data size / buffer pool: 63.6M/2.0G

    ——– Recommendations —————————————————–

    General recommendations:

    Variables to adjust:

        max_connections (> 100)

        wait_timeout (> 20000)

        interactive_timeout (> 20000)

        query_cache_size (> 100M)

    だらだらと結果が返ってきますが、「Recommendations」以降におすすめの 設定値が出力されます。(文中の[!!]箇所は改善が必要な箇所のようです)

    私が実施したMySQLバージョン、搭載メモリーは以下の通りです。

     MySQLversion 5.0.45  搭載メモリー16GB

    おすすめの設定値を参考に、「my.cnf」を書き換え、再び「./mysqltuner.pl」 の実行を繰り返していくと、チューニングの手助けになりそうです。