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
パフォーマンススキーマを有効・無効化を設定
ディスカッション
コメント一覧
まだ、コメントがありません