MySQLTunerを利用して、MariaDB パフォーマンスのチューニング

MySQLTunerを使用して、MariaDBの設定の最適化

DBのチューニングのツールで「MySQLTuner」があります。DBのパラメータの問題点を診断してくれるツールでこれをインストールしてMariaDBのパラメータの値を見直してみます。

今回使用するサーバーのクラウドで動いており、比較的に低スペックなサーバーです

  • OS: CentOS 8
  • Mem: 2G
  • Maria DB 10.3.17

MySQLTunerをインストール

MySQLTunerは、Perlで作成されておりそのプログラムをダウンロードして使用します。その際にDB管理者のパスワードが必要ですのでパスワードも準備しておいて下さい

# MySQLTuner.zipをダウンロードして、ZIPファイルを解凍してPerlプログラムを実行します

# cd /usr/local/src/
# wget -O MySQLTuner.zip https://github.com/rackerhacker/MySQLTuner-perl/archive/master.zip 
# unzip MySQLTuner.zip
# cd MySQLTuner-perl-master
# perl ./mysqltuner.pl

[--] Skipped version check for MySQLTuner script
Please enter your MySQL administrative login: root
Please enter your MySQL administrative password: xxxxxxxxxxxx


  *** MySQL's maximum memory usage is dangerously high ***
  *** Add RAM before increasing MySQL buffer variables ***
    query_cache_size (=0)
    query_cache_type (=0)
    query_cache_limit (> 1M, or use smaller result sets)
    tmp_table_size (> 16M)
    max_heap_table_size (> 16M)
    table_open_cache (> 2000)
    performance_schema = ON enable PFS
    innodb_log_file_size should be (=16M) if possible, so InnoDB total log files size equals to 25% of buffer pool size.

プログラムを実行すると最後に推奨されるパラメータが表示されますので、設定ファイルにその値を設定します

MariaDBのパラメータを変更

「MySQLTuner」の結果を参考にして以下の値を設定しました。

[mysqld]
innodb_buffer_pool_size = 256M
innodb_log_file_size = 32M
max_heap_table_size = 32M
tmp_table_size = 32M

query_cache_limit=32M
query_cache_size=0
query_cache_type=0

performance_schema=ON

  • innodb_buffer_pool_size
    デフォルト128M ディスクイメージをメモリ上にバッファさせる値です。
  • innodb_log_file_size
    InnoDBの更新ログを記録するディスク上のファイル
  • max_heap_table_size
    一時テーブルに使われている MEMORY ストレージエンジンの最大サイズのパラメータ
  • tmp_table_size
    内部一時テーブルのサイズがインメモリーで保持できる最大サイズ
  • query_cache_limit
    クエリーキャッシュに格納する上限値(バイト)このバイト数より大きい結果をキャッシュしない
  • query_cache_size
    クエリー結果をキャッシュするために割り当てられたメモリーの量。「0」の場合は無効
  • query_cache_type
    クエリーキャッシュタイプ。「0」の場合は無効
  • performance_schema
    パフォーマンススキーマを有効・無効化を設定

スポンサーリンク