mariadb_icon

mariadb fine tune

wordpress multi site などデーターベースの負荷が上がると、ボトルネックになる可能性がある。

mariadbがボトルネック

wordpress をマルチサイト、Elementorにすると、Nginx や php に多くのメモリーやプロセスを与えても、さまざまな作業で待たされる感じが発生しました。
ボトルネックとなっているのは、

mariadb ?

かもしれん。

mariadb の設定ファイルをのぞいてみると、

				
					/etc/mysql/mariadb.conf.d/50-server.cnf
				
			

設定ファイルを修正

50-server.conf の内容を確認すると

# * Fine Tuning

という項目がありました。

設定ファイルの # コメントアウトを消して有効化します。

				
					#
# * Fine Tuning
#

key_buffer_size        = 128M
max_allowed_packet     = 1G
thread_stack           = 192K
thread_cache_size      = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam_recover_options = BACKUP
max_connections        = 100
table_cache            = 64

				
			

設定して適用

mariadb を再起動

				
					systemctl restart mariadb.service
				
			

念の為、nginx と php を再起動しておく。

				
					systemctl restart nginx.service php8.2-fpm.service
				
			

効果は

今の所、サイト編集中に固まることは無くなった。

 

さらにMariaDB高速化設定

WordPress を MariaDB で高速化する場合、ポイントは「クエリ削減+メモリ最適化+I/O削減」です。

設定ファイル

/etc/mysql/mariadb.conf.d/50-server.cnf

マルチサイトや Elementor などの大量のメモリーを消費するコンテンツなどの場合。

高速化設定(メモリーが10GB RAM想定)

※ 設定ファイル #行を除いて表示させたい

grep -vE '^\s*#|^\s*$' 設定ファイル名
				
					[server]
[mysqld]
pid-file                = /run/mysqld/mysqld.pid
basedir                 = /usr
bind-address            = 127.0.0.1
key_buffer_size        = 256M
max_allowed_packet     = 2G
thread_stack           = 284K
thread_cache_size      = 100
myisam_recover_options = BACKUP
max_connections        = 100
table_cache            = 64
expire_logs_days        = 10
character-set-server  = utf8mb4
collation-server      = utf8mb4_general_ci
innodb_buffer_pool_size = 6G
innodb_log_file_size = 1G
innodb_flush_log_at_trx_commit = 2
innodb_buffer_pool_instances = 6
max_connections = 200
[embedded]
[mariadb]
				
			
mariadb fine tune

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連コンテンツ

phpmyadmin icon

phpmyadmin install

debian nginx のためのphpmyadmin のインストール方法

最近の投稿

mariadb fine tune