中規模程度のMoodleサイトを構築するときのデータベースソフト(MariaDB)のチューニング例です。ここに記載した設定値は、まだテスト中の値を備忘録として書いたものなので、これをそのまま真似して使って問題が起きたとしても当方は責任を負えません。

# vi /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

# Moodle推奨のデータベースフォーマット(Barracuda)を設定。昔からあるAntelopeフォーマットのままだとMoodleインストール時に警告が出ます。
innodb_file_per_table = 1
innodb_file_format = Barracuda

# デフォルトは128M。メモリにロードされるデータとインデックスのためにInnoDBがどのくらいメモリを使うかを指定する。搭載メモリの50%程度が推奨値。
innodb_buffer_pool_size = 4G

# クライアントからサーバへ送ることができるPacketの最大サイズは16MB。デフォルトでMySQLサーバ側が受信を許可するPacketの最大サイズは1MB。
# デフォルトのままでは、データ量の多いMoodleコースをバックアップしたときにエラーになる可能性がある。
max_allowed_packet = 10M

# データディクショナリ情報やその他内部データ構造を格納する際に InnoDB で使用されるメモリープールサイズ。デフォルトの値は 8MB。
innodb_additional_mem_pool_size = 16M

# ディスク上のログファイルに書き込む際にInnoDBで使用されるバッファーのサイズ。 デフォルトの値は 8MB。多数の行を更新/挿入/削除するトランザクションの場合、ログバッファーを大きくするとディスク I/O を節約可能。
innodb_log_buffer_size = 32MB

# MyISAMだけを利用する場合は、空きメモリの3割程度を割り当てる
key_buffer_size = 64M

# 全件スキャンをするときに利用するバッファ。OLTPでは128K~512Kぐらい。
read_buffer_size = 256K

# ソート処理でインデックスを利用する場合に利用するバッファ。OLTPでは256K~1Mぐらい。
read_rnd_buffer_size = 2M

# ソート処理に利用するバッファ。OLTPでは256K~1Mぐらい。あまり大きすぎるとメモリ割当てのオーバーヘッドが大きくなる。
sort_buffer_size = 4M

# 0:キャッシュしない  1:SELECT SQL_NO_CACHE 以外のクエリをキャッシュする  2:SELECT SQL_CACHE のクエリだけをキャッシュする
query_cache_type = 1

# この値を超える大きさのクエリ(結果)はキャッシュしないという閾値。デフォルトの値は 1MB。
query_cache_limit = 2M

# クライアントからのクエリとその実行結果をキャッシュし、次回から同じ内容のクエリが要求された場合にキャッシュから応答する。デフォルト状態ではクエリキャッシュを使用しない設定。
query_cache_size = 16M

max_connections = 100
max_heap_table_size = 16M
tmp_table_size = 16M

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d


最終更新日時: 2023年 10月 13日(金曜日) 10:46