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
パフォーマンススキーマを有効・無効化を設定



コメント