MySQLのチューニングに役立つツールはphpMyAdmin アドバイザ機能が便利
  • facebookページ
  • twitterページ
  • 2020.01.30

    MySQLのチューニングに役立つツールはphpMyAdmin アドバイザ機能が便利

    MySQLのチューニングに役立つツールについてまとめています。

    MySQLのサーバパラメータチューニングに使えるツール

    MySQLのサーバパラメータを調整するには、診断ツールの出力した内容をもとに、一つ一つパラメータを変更し、動作を検証していくのが良いでしょう。

    同時に複数のパラメータを変更して不具合が出た場合、どのパラメータが原因となったのかを突き止めるのに多くの時間がかかります。

    phpMyAdminでチューニングすべきポイントがわかる

    MySQLの管理ツールとして有名なphpMyAdminは、強力な診断機能を備えています。

    参考)phpMyAdmin公式サイト

    phpMyAdminを開き、状態→アドバイザを指定すると、問題があると思われる事象と、推奨設定が表示されます。特にメモリに関する設定は、パフォーマンスに与える影響が大きいため、重点的にチェックすると良いでしょう。

    また、状態→モニタで、実行されているクエリ数、接続・プロセス数、トラフィックがリアルタイムにグラフ表示されます。

    状態→クエリの統計では、より詳細なクエリの統計情報が確認できます。

    少し下にスクロールさせると、円グラフ表示が確認できます。この例では、90%をselect文が占めていることがわかります。

    コマンドラインで使えるチューニングツール MySQL Tuner

    MySQL Tunerは、古くから使われているコマンドラインのMySQL診断ツールです。最新のMySQL 8や、派生データベースのMariaDBにも対応しています。

    利用するには、githubからダウンロードし、zipファイルを解凍します。

    コマンド本体は、解凍後にできる./MySQLTuner-perl-master/mysqltuner.pl になります。以下のように実行します。

    実行時に–helpを付加すると、コマンドラインオプションのヘルプが表示されます。

    [!!]の項目を中心に、チューニングを行っていきます。スクリプトさえあれば、即診断できるのでお手軽なのですが、どのようにチューニングをすればよいのかが分からないというデメリットが有ります。

    MySQLTunerを使ったMySQLのチューニングを業務にしている会社もあるぐらいなので、この状態だけを元にチューニングを行うのは相当なMySQLの知識が要求されるでしょう。

    SQLのチューニングは、explainを使っておこなう

    アプリケーション等で使われるSQLの最初に「explain」を付与して実行すると、実行計画が確認できます。

    typeの項目がALLになっているSQLは、テーブルフルスキャンが行われていることを示しています。適切なindexを付与し、実行速度を向上させましょう。

    複数テーブルのjoinを行っているSQLでソートを行う場合、指定するカラムによって速度が激変する場合もあります。

    【関連記事】
    SQL Joinサンプル集 Joinで遅いSQLの原因を調べる方法

    まとめ

    ポテパンダの一言メモ
    • MySQLサーバチューニングには、phpMyAdminのアドバイザ情報が便利
    • MySQL Tunerは手軽に使えるが、チューニングには知識が必要
    • 個別のSQLは、explainを使ってチューニングすべき点を調べる


    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE