MySQLTunerを使用してMySQL(MariaDB)のチューニングを行なう

スポンサーリンク

はじめに

MySQLTunerを使用してMySQL(MariaDB)のチューニングを行なうためのまとめです。

注意事項

  • コマンドはすべてroot権限での操作です。

環境

今回の作業環境は以下の通りです。

VPS さくらVPS 1G SSD
OS CentOS 7.3
DB MariaDB 5.5.52
その他 MySQLTuner 1.6.0

MySQLTunerとは

MySQLTunerはPerlで書かれたスクリプトでパフォーマンスと安定性を高めるためのチューニングについてのポイントを表示してくれます。

インストール

yumを利用してインストールします。

# yum --enablerepo=epel install mysqltuner

MySQLTunerの実行

以下のコマンドを入力して実行します。ユーザー名とパスワードを入力するよう求められるので管理者権限のあるユーザーを入力します。

# mysqltuner -buffers
Please enter your MySQL administrative login: <ユーザー名>
Please enter your MySQL administrative password: <パスワード>

MySQLのチューニングに関する内容が項目毎に表示されます。

Storage Engine Statistics
ストレージエンジンの統計についての項目
Security Recommendations
セキュリティの推奨事項についての項目
Performance Metrics
パフォーマンス指標についての項目
MyISAM Metrics
MyISAM指標についての項目
InnoDB Metrics
InnoDB指標についての項目
AriaDB Metrics
AriaDB指標についての項目
Replication Metrics
レプリケーション指標についての項目
Recommendations
推奨事項についての項目

MySQL(MariaDB)のチューニング

ここでは実際のMariaDBに対してMySQLTunerを使用してチューニングを行ないます。まずはMySQLTunerを実行し最後に表示される推奨事項を確認します。

# mysqltuner -buffers

(略)

-------- Recommendations -----------------------------------------------------
General recommendations:
    Run OPTIMIZE TABLE to defragment tables for better performance
    Enable the slow query log to troubleshoot bad queries
    When making adjustments, make tmp_table_size/max_heap_table_size equal
    Reduce your SELECT DISTINCT queries which have no LIMIT clause
    Set thread_cache_size to 4 as a starting value
Variables to adjust:
    query_cache_size (>= 8M)
    tmp_table_size (> 16M)
    max_heap_table_size (> 16M)
    thread_cache_size (start at 4)

一般的な推奨事項と調整する変数についての情報が表示されるのでそれぞれ確認していきます。

MariaDBの設定を変更する

上記の内容を元にMariaDBの設定ファイルを変更します。ここではスロークエリをログに出力し各種変数を調整してみます。

# vi /etc/my.cnf.d/server.cnf

[mysql]
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /var/log/mariadb/slow_query.log

query_cache_size = 16M
tmp_table_size = 32M
max_heap_table_size = 32M
thread_cache_size = 4

MariaDBを再起動します。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする